atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mandy Chessell <mandy_chess...@uk.ibm.com>
Subject Re: Review Request 63503: ATLAS-1095 - Review of OCF - the Open Connector Framework
Date Thu, 30 Nov 2017 11:15:31 GMT


> On Nov. 30, 2017, 8:19 a.m., Madhan Neethiraj wrote:
> > om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java
> > Lines 47 (patched)
> > <https://reviews.apache.org/r/63503/diff/2/?file=1887924#file1887924line47>
> >
> >     Consider marking this as an 'abstract' class.

It is not an abstract class so why mark it abstract? (For my education)


> On Nov. 30, 2017, 8:19 a.m., Madhan Neethiraj wrote:
> > om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AdditionalProperties.java
> > Lines 41 (patched)
> > <https://reviews.apache.org/r/63503/diff/2/?file=1887935#file1887935line41>
> >
> >     If classes in 'properties' package (like this one) are to be used in REST APIs,
they must:
> >     - have a default constructor - for use by de-serializer
> >     - have simple set() and get() methods for each field that needs to be handled
by a serializer/deserializer
> >     - set()/get() shouldn't throw any exception (line #126)
> >     - avoid helper methods - like "Iterator<String> getPropertyNames()", which
don't deal with direct fields of the class. If necessary, create a separate package to hold
helper classes

These properties are not used in REST APIs.


> On Nov. 30, 2017, 8:19 a.m., Madhan Neethiraj wrote:
> > om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Annotations.java
> > Lines 31 (patched)
> > <https://reviews.apache.org/r/63503/diff/2/?file=1887939#file1887939line31>
> >
> >     There are many classes that are plural of another class - like Annotation/Annotations,
Certification/Certifications, Classification/Classifications, Comment/Comments, Connection/Connections,
..
> >     
> >     I would suggest replacing the plural versions with a List<>. In addition
to eliminating a bunch of code, this will enable use of collection operations (like iteration/find/filter).

These classes are type specific implementations of Iterator.  They appeat in the programming
model to make it easy to use, to allow use easiliy to do cascading deep copies and to support
error handling that ties the property to the top level parent asset.  If we switch it to list
we loose a lot of value to the programming model.


> On Nov. 30, 2017, 8:19 a.m., Madhan Neethiraj wrote:
> > om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Connection.java
> > Lines 275 (patched)
> > <https://reviews.apache.org/r/63503/diff/2/?file=1887953#file1887953line275>
> >
> >     get/set methods should be public to enable serialization/deserialization of
class members.

We do not want these attributes to be available to common users (eg OMAS layer) - they are
the secure properties (see name) so protected access is a deliberate choice.  They can only
be used inside the connector.


- Mandy


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/63503/#review192180
-----------------------------------------------------------


On Nov. 10, 2017, 12:48 p.m., Mandy Chessell wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/63503/
> -----------------------------------------------------------
> 
> (Updated Nov. 10, 2017, 12:48 p.m.)
> 
> 
> Review request for atlas and Madhan Neethiraj.
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> This patch contains the open connector framework code.  This code is located in the om-fwk-ocf
component and is described in JIRA https://issues.apache.org/jira/browse/ATLAS-1095
> 
> I have added a new patch to the Jira with fixes from Yao's comments.  Upgraded Maven
to 352 and rebuilt/rerun tests.
> 
> 
> Diffs
> -----
> 
>   om-fwk-ocf/README.md PRE-CREATION 
>   om-fwk-ocf/pom.xml PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/ConnectionCheckedException.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/ConnectorCheckedException.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/OCFCheckedExceptionBase.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/OCFErrorCode.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/OCFRuntimeException.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/PropertyServerException.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/README.md PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AdditionalProperties.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Analysis.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Annotation.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AnnotationStatus.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Annotations.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AssetDescriptor.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AssetDetail.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AssetPropertyBase.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AssetSummary.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AssetUniverse.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Certification.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Certifications.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Classification.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Classifications.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Comment.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/CommentType.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Comments.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ConnectedAssetProperties.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Connection.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Connections.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ConnectorType.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/DerivedSchemaElement.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ElementHeader.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ElementType.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/EmbeddedConnection.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/EmbeddedConnections.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Endpoint.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ExternalIdentifier.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ExternalIdentifiers.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ExternalReference.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/ExternalReferences.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Feedback.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/InformalTag.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/InformalTags.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/KeyPattern.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/License.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Licenses.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Like.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Likes.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Lineage.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Location.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Locations.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/MapSchemaElement.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Meaning.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Meanings.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Note.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/NoteLog.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/NoteLogs.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Notes.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/PrimitiveSchemaElement.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/PropertyBase.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Rating.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Ratings.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Referenceable.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedAsset.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedAssetProperties.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedAssets.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedMediaReference.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedMediaReferences.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedMediaType.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/RelatedMediaUsage.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/Schema.java PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaAttribute.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaAttributeGUIDs.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaAttributes.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaElement.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaImplementationQueries.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaImplementationQuery.java
PRE-CREATION 
>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaLink.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/SchemaLinks.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/StarRating.java PRE-CREATION

>   om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/VirtualConnection.java PRE-CREATION

>   om-fwk-ocf/src/test/java/org/apache/atlas/ocf/test/QuickTest.java PRE-CREATION 
>   om-fwk-ocf/src/test/java/org/apache/atlas/ocf/test/TestConnector.java PRE-CREATION

>   om-fwk-ocf/src/test/java/org/apache/atlas/ocf/test/TestConnectorProvider.java PRE-CREATION

> 
> 
> Diff: https://reviews.apache.org/r/63503/diff/2/
> 
> 
> Testing
> -------
> 
> Simple sniff test to create connectors.
> 
> 
> File Attachments
> ----------------
> 
> 0001-ATLAS-1095-initial-code-drop-for-OCF-with-fixes-from.patch
>   https://reviews.apache.org/media/uploaded/files/2017/11/10/ad9eae3c-bb68-4bdc-b6b9-62ba12f651a0__0001-ATLAS-1095-initial-code-drop-for-OCF-with-fixes-from.patch
> 
> 
> Thanks,
> 
> Mandy Chessell
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message