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




om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java
Lines 60 (patched)
<https://reviews.apache.org/r/63503/#comment270966>

    Instead of defining an interface and a base implementation (Connector & 
ConnectorBase), consider having "Connector" as an abstract class. This will 
allow us to evolve Connector, for example by adding methods, without having to 
worry about breaking any implementation of Connector interface.
    
    With this approach, replace initialize() call with a protected constructor 
that requires implementations to supply necessary parameters - like 
connectorInstanceId and connection. This will help in not having to expose 
initialization details to users of Connector instances. 
ConnectorProvider.getConnector() implementation should handle creating 
approriate Connector implementation with necessary parameters.
    
    public abstract class Connector
    {
        private final String     connectorInstanceId;
        private final Connection connection;
    
        protected Connector(String connectorInstanceId, Connection connection)
        {
            this.connectorInstanceId = connectorInstanceId;
            this.connection          = connection;
        }
        
        public String getConnectorInstanceId() { return connectorInstanceId; }
        
        public Connection getConnection() { return connection; }
    
        // ...
    }



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java
Lines 97 (patched)
<https://reviews.apache.org/r/63503/#comment270973>

    If a connector object is specific to an asset, having a set() method would 
be confusing and can cause incorrect usage. Instead of set(), asset-properties 
should be part of initialization.



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java
Lines 53 (patched)
<https://reviews.apache.org/r/63503/#comment270999>

    consider renaming "log" to "LOG" - to be consistent with rest if Atkas 
sources.



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java
Lines 70 (patched)
<https://reviews.apache.org/r/63503/#comment271006>

    Consider adding a constructor to Exception class that takes OCFErrorCode as 
a parameter. This can help simiplify exception creation, as shown below:
    
      new ConnectionCheckedException(OCFErrorCode.NULL_CONNECTION, 
this.getClass().getName(), "getConnector");
      
    
    // constructor
    public ConnectionCheckedException(OCFErrorCode errorCode, className, String 
actionDescription, Object...errorMessageParams) {
      this(errorCode.getHTTPErrorCode(), className, actionDescription, 
errorCode.getErrorMessageId() + 
errorCode.getFormattedErrorMessage(errorMessageParams), 
errorCode.getSystemAction(), errorCode.getUserAction());
    }
    
    Consider the same approach for other exceptions as well - like 
ConnectorCheckedException, OCFRuntimeException



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java
Lines 37 (patched)
<https://reviews.apache.org/r/63503/#comment270978>

    Similar to earlier comment on Connector & ConnectorBase (to replace 
interface and base implementation with an abstract class), consider changing 
ConnectionProvider interface to an abstract class.



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/OCFErrorCode.java
Lines 183 (patched)
<https://reviews.apache.org/r/63503/#comment271008>

    Consider dropping prefix "new" in the parameter names - here is other 
occurances.



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ffdc/OCFErrorCode.java
Lines 227 (patched)
<https://reviews.apache.org/r/63503/#comment271010>

    Consider changing "String... params" to "Object... params". This will 
simplify callers in not having to call ".toString()" on parameters (and check 
for null before calling .toString())



om-fwk-ocf/src/main/java/org/apache/atlas/ocf/properties/AnnotationStatus.java
Lines 38 (patched)
<https://reviews.apache.org/r/63503/#comment271014>

    Consider marking these members as final.


- Madhan Neethiraj


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