> On Nov. 30, 2017, 10:59 a.m., David Radley wrote:
> > om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java
> > Lines 35 (patched)
> > <https://reviews.apache.org/r/63503/diff/2/?file=1887927#file1887927line35>
> >
> >     I suggest only having a constructor that supplies the name, so we 
> > cannot have a invalid null name in the connector. Is the compelling reason 
> > whay we cannot do this?
> >     
> >     The example in the code of ths being used is in 
> > OMRSRESTConnectorProvider() where it issues the setter to set the name in 
> > constructor.

Having a constructor that takes name does not stop the name from being null.  
However this is a minor point.  

A ConnectorProvider object is built by the Connector implementation team.  They 
are not required to use ConnectorProviderBase - only implement the 
ConnectorProvider interface.  We provide the ConnectorProviderBase only to 
simplify the implementation of a simple the Connector Provider.  

The role of the ConnectorProvider is to act as a factory for the Connector.  
The logic for instantiating the Connector instance is in ConnectorProviderBase. 
 However, it needs to know the class name of the connector instance to create.  
ConnectorProviderBase assumes the connector provider only supports one type of 
connector, but that is not a strict requirement of the OCF.  Some connector 
providers may support multiple types of connectors - in which case they would 
not use the ConnectorProviderBase.

The ConnectorProvider instance is created by the ConnectorBroker.  We need a 
common way to create all connector providers.  Therefore it needs a default (no 
param) constructor for the ConnectorBroker to use.  This is why 
ConnectorProviderBase has a default (no param) contructor.  If we changed it so 
all connector provider instances had to have the name of the connector's Java 
class passed to it, then this Java name needs to be known to the Connector 
Broker.  This creates a connector Broker contract outside of the connector 
provider interface and breaks the abstraction that the connector provider is 
reposnsible for choosing the connector implementation.


- Mandy


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


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
> 
>

Reply via email to