http://git-wip-us.apache.org/repos/asf/atlas/blob/f57fd7f0/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefHelper.java ---------------------------------------------------------------------- diff --git a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefHelper.java b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefHelper.java index d66a485..565c267 100644 --- a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefHelper.java +++ b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefHelper.java @@ -76,7 +76,7 @@ public interface OMRSTypeDefHelper /** * Return the TypeDefs identified by the name supplied by the caller. The TypeDef name may have wild - * card characters in it such as * and & which is why the results are returned in a list. + * card characters in it which is why the results are returned in a list. * * @param sourceName - source of the request (used for logging) * @param typeDefName - unique name for the TypeDef
http://git-wip-us.apache.org/repos/asf/atlas/blob/f57fd7f0/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefManager.java ---------------------------------------------------------------------- diff --git a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefManager.java b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefManager.java index 0597e9f..eb4402a 100644 --- a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefManager.java +++ b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefManager.java @@ -156,7 +156,7 @@ public interface OMRSTypeDefManager * @param sourceName - source of the request (used for logging) * @param category - category of type * @param typeName - String type name - the type name is not recognized or of the wrong category. - * @return InstanceType object containing TypeDef unique identifier (guid), typeDef name and versionName + * @return InstanceType object containing TypeDef unique identifier (guid), typeDef name and version * @throws TypeErrorException - the type name is not a recognized type or the category is incorrect or there * is an error in the type definition (TypeDef) cached. */ http://git-wip-us.apache.org/repos/asf/atlas/blob/f57fd7f0/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefValidator.java ---------------------------------------------------------------------- diff --git a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefValidator.java b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefValidator.java index 5ead6df..733de07 100644 --- a/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefValidator.java +++ b/omrs/src/main/java/org/apache/atlas/omrs/localrepository/repositorycontentmanager/OMRSTypeDefValidator.java @@ -17,6 +17,7 @@ */ package org.apache.atlas.omrs.localrepository.repositorycontentmanager; +import org.apache.atlas.omrs.ffdc.exception.RepositoryErrorException; import org.apache.atlas.omrs.metadatacollection.properties.typedefs.*; import java.util.ArrayList; @@ -65,12 +66,31 @@ public interface OMRSTypeDefValidator * A valid TypeDef is one that matches name, GUID and version to the full list of TypeDefs. * If a new TypeDef is present, it is added to the enterprise list. * - * @param sourceName - source of the request (used for logging) + * @param sourceName - source of the TypeDef (used for logging) * @param typeDefs - list of TypeDefs. - * @return boolean flag + * @param methodName - name of calling method + * @throws RepositoryErrorException - a conflicting or invalid TypeDef has been returned + */ + void validateEnterpriseTypeDefs(String sourceName, + List<TypeDef> typeDefs, + String methodName) throws RepositoryErrorException; + + + /** + * Return a boolean flag indicating whether the list of TypeDefs passed are compatible with the + * all known typedefs. + * + * A valid TypeDef is one that matches name, GUID and version to the full list of TypeDefs. + * If a new TypeDef is present, it is added to the enterprise list. + * + * @param sourceName - source of the TypeDef (used for logging) + * @param attributeTypeDefs - list of AttributeTypeDefs. + * @param methodName - name of calling method + * @throws RepositoryErrorException - a conflicting or invalid AttributeTypeDef has been returned */ - boolean validateEnterpriseTypeDefs(String sourceName, - List<TypeDef> typeDefs); + void validateEnterpriseAttributeTypeDefs(String sourceName, + List<AttributeTypeDef> attributeTypeDefs, + String methodName) throws RepositoryErrorException; /** @@ -156,7 +176,7 @@ public interface OMRSTypeDefValidator * @param sourceName - source of the request (used for logging) * @param typeDefGUID - unique identifier of the TypeDef * @param typeDefName - unique name of the TypeDef - * @param typeDefVersion - versionName of the type + * @param typeDefVersion - version of the type * @param category - category for the TypeDef * @return boolean result */ @@ -173,7 +193,7 @@ public interface OMRSTypeDefValidator * @param sourceName - source of the request (used for logging) * @param attributeTypeDefGUID - unique identifier of the TypeDef * @param attributeTypeDefName - unique name of the TypeDef - * @param attributeTypeDefVersion - versionName of the type + * @param attributeTypeDefVersion - version of the type * @param category - category for the TypeDef * @return boolean result */ http://git-wip-us.apache.org/repos/asf/atlas/blob/f57fd7f0/omrs/src/main/java/org/apache/atlas/omrs/metadatacollection/OMRSMetadataCollection.java ---------------------------------------------------------------------- diff --git a/omrs/src/main/java/org/apache/atlas/omrs/metadatacollection/OMRSMetadataCollection.java b/omrs/src/main/java/org/apache/atlas/omrs/metadatacollection/OMRSMetadataCollection.java index 91d5958..732705e 100644 --- a/omrs/src/main/java/org/apache/atlas/omrs/metadatacollection/OMRSMetadataCollection.java +++ b/omrs/src/main/java/org/apache/atlas/omrs/metadatacollection/OMRSMetadataCollection.java @@ -118,6 +118,11 @@ public abstract class OMRSMetadataCollection /** * Constructor to save the metadata collection id, repository helper and repository validator. * + * @param parentConnector - connector that this metadata collection supports. The connector has the information + * to call the metadata repository. + * @param repositoryName - name of this repository. + * @param repositoryHelper - helper class for building types and instances + * @param repositoryValidator - validator class for checking open metadata repository objects and parameters. * @param metadataCollectionId - unique identifier for the metadata collection */ public OMRSMetadataCollection(OMRSRepositoryConnector parentConnector, @@ -872,10 +877,11 @@ public abstract class OMRSMetadataCollection /** - * Return a list of entities that have the requested type of classification attached. + * Return a list of entities that have the requested type of classifications attached. * * @param userId - unique identifier for requesting user. - * @param entityTypeGUID - unique identifier for the type of entity requested. Null mans any type of entity. + * @param entityTypeGUID - unique identifier for the type of entity requested. Null means any type of entity + * (but could be slow so not recommended. * @param classificationName - name of the classification - a null is not valid. * @param matchClassificationProperties - list of classification properties used to narrow the search. * @param matchCriteria - Enum defining how the properties should be matched to the classifications in the repository. @@ -926,10 +932,14 @@ public abstract class OMRSMetadataCollection /** - * Return a list of entities matching the search criteria. + * Return a list of entities whose string based property values match the search criteria. The + * search criteria may include regex style wild cards. * * @param userId - unique identifier for requesting user. - * @param searchCriteria - String expression of the characteristics of the required relationships. + * @param entityTypeGUID - GUID of the type of entity to search for. Null means all types will + * be searched (could be slow so not recommended). + * @param searchCriteria - String expression contained in any of the property values within the entities + * of the supplied type. * @param fromEntityElement - the starting element number of the entities to return. * This is used when retrieving elements * beyond the first page of results. Zero means start from the first element. @@ -954,20 +964,21 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support the asOfTime parameter. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract List<EntityDetail> searchForEntities(String userId, - String searchCriteria, - int fromEntityElement, - List<InstanceStatus> limitResultsByStatus, - List<String> limitResultsByClassification, - Date asOfTime, - String sequencingProperty, - SequencingOrder sequencingOrder, - int pageSize) throws InvalidParameterException, - RepositoryErrorException, - PropertyErrorException, - PagingErrorException, - FunctionNotSupportedException, - UserNotAuthorizedException; + public abstract List<EntityDetail> findEntitiesByPropertyValue(String userId, + String entityTypeGUID, + String searchCriteria, + int fromEntityElement, + List<InstanceStatus> limitResultsByStatus, + List<String> limitResultsByClassification, + Date asOfTime, + String sequencingProperty, + SequencingOrder sequencingOrder, + int pageSize) throws InvalidParameterException, + RepositoryErrorException, + PropertyErrorException, + PagingErrorException, + FunctionNotSupportedException, + UserNotAuthorizedException; /** @@ -1029,13 +1040,16 @@ public abstract class OMRSMetadataCollection FunctionNotSupportedException, UserNotAuthorizedException; + /** - * Return a list of relationships that match the requested properties by hte matching criteria. The results - * can be broken into pages. + * Return a list of relationships that match the requested properties by the matching criteria. The results + * can be received as a series of pages. * * @param userId - unique identifier for requesting user. - * @param relationshipTypeGUID - unique identifier (guid) for the new relationship's type. - * @param matchProperties - list of properties used to narrow the search. + * @param relationshipTypeGUID - unique identifier (guid) for the new relationship's type. Null means all types + * (but may be slow so not recommended). + * @param matchProperties - list of properties used to narrow the search. The property values may include + * regex style wild cards. * @param matchCriteria - Enum defining how the properties should be matched to the relationships in the repository. * @param fromRelationshipElement - the starting element number of the entities to return. * This is used when retrieving elements @@ -1081,10 +1095,14 @@ public abstract class OMRSMetadataCollection /** - * Return a list of relationships that match the search criteria. The results can be paged. + * Return a list of relationships whose string based property values match the search criteria. The + * search criteria may include regex style wild cards. * * @param userId - unique identifier for requesting user. - * @param searchCriteria - String expression of the characteristics of the required relationships. + * @param relationshipTypeGUID - GUID of the type of entity to search for. Null means all types will + * be searched (could be slow so not recommended). + * @param searchCriteria - String expression contained in any of the property values within the entities + * of the supplied type. * @param fromRelationshipElement - Element number of the results to skip to when building the results list * to return. Zero means begin at the start of the results. This is used * to retrieve the results over a number of pages. @@ -1107,19 +1125,20 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support the asOfTime parameter. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract List<Relationship> searchForRelationships(String userId, - String searchCriteria, - int fromRelationshipElement, - List<InstanceStatus> limitResultsByStatus, - Date asOfTime, - String sequencingProperty, - SequencingOrder sequencingOrder, - int pageSize) throws InvalidParameterException, - RepositoryErrorException, - PropertyErrorException, - PagingErrorException, - FunctionNotSupportedException, - UserNotAuthorizedException; + public abstract List<Relationship> findRelationshipsByPropertyValue(String userId, + String relationshipTypeGUID, + String searchCriteria, + int fromRelationshipElement, + List<InstanceStatus> limitResultsByStatus, + Date asOfTime, + String sequencingProperty, + SequencingOrder sequencingOrder, + int pageSize) throws InvalidParameterException, + RepositoryErrorException, + PropertyErrorException, + PagingErrorException, + FunctionNotSupportedException, + UserNotAuthorizedException; /** @@ -1934,7 +1953,7 @@ public abstract class OMRSMetadataCollection * Save the entity as a reference copy. The id of the home metadata collection is already set up in the * entity. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param entity - details of the entity to save. * @throws InvalidParameterException - the entity is null. * @throws RepositoryErrorException - there is a problem communicating with the metadata repository where @@ -1950,7 +1969,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void saveEntityReferenceCopy(String serverName, + public abstract void saveEntityReferenceCopy(String userId, EntityDetail entity) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, @@ -1967,7 +1986,7 @@ public abstract class OMRSMetadataCollection * remove reference copies from the local cohort, repositories that have left the cohort, * or entities that have come from open metadata archives. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param entityGUID - the unique identifier for the entity. * @param typeDefGUID - the guid of the TypeDef for the relationship - used to verify the relationship identity. * @param typeDefName - the name of the TypeDef for the relationship - used to verify the relationship identity. @@ -1981,7 +2000,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void purgeEntityReferenceCopy(String serverName, + public abstract void purgeEntityReferenceCopy(String userId, String entityGUID, String typeDefGUID, String typeDefName, @@ -1997,7 +2016,7 @@ public abstract class OMRSMetadataCollection * The local repository has requested that the repository that hosts the home metadata collection for the * specified entity sends out the details of this entity so the local repository can create a reference copy. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param entityGUID - unique identifier of requested entity. * @param typeDefGUID - unique identifier of requested entity's TypeDef. * @param typeDefName - unique name of requested entity's TypeDef. @@ -2011,7 +2030,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void refreshEntityReferenceCopy(String serverName, + public abstract void refreshEntityReferenceCopy(String userId, String entityGUID, String typeDefGUID, String typeDefName, @@ -2027,7 +2046,7 @@ public abstract class OMRSMetadataCollection * Save the relationship as a reference copy. The id of the home metadata collection is already set up in the * relationship. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param relationship - relationship to save. * @throws InvalidParameterException - the relationship is null. * @throws RepositoryErrorException - there is a problem communicating with the metadata repository where @@ -2045,7 +2064,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void saveRelationshipReferenceCopy(String serverName, + public abstract void saveRelationshipReferenceCopy(String userId, Relationship relationship) throws InvalidParameterException, RepositoryErrorException, TypeErrorException, @@ -2063,7 +2082,7 @@ public abstract class OMRSMetadataCollection * remove reference copies from the local cohort, repositories that have left the cohort, * or relationships that have come from open metadata archives. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param relationshipGUID - the unique identifier for the relationship. * @param typeDefGUID - the guid of the TypeDef for the relationship - used to verify the relationship identity. * @param typeDefName - the name of the TypeDef for the relationship - used to verify the relationship identity. @@ -2077,7 +2096,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void purgeRelationshipReferenceCopy(String serverName, + public abstract void purgeRelationshipReferenceCopy(String userId, String relationshipGUID, String typeDefGUID, String typeDefName, @@ -2094,7 +2113,7 @@ public abstract class OMRSMetadataCollection * specified relationship sends out the details of this relationship so the local repository can create a * reference copy. * - * @param serverName - unique identifier for requesting server. + * @param userId - unique identifier for requesting server. * @param relationshipGUID - unique identifier of the relationship. * @param typeDefGUID - the guid of the TypeDef for the relationship - used to verify the relationship identity. * @param typeDefName - the name of the TypeDef for the relationship - used to verify the relationship identity. @@ -2108,7 +2127,7 @@ public abstract class OMRSMetadataCollection * @throws FunctionNotSupportedException - the repository does not support reference copies of instances. * @throws UserNotAuthorizedException - the userId is not permitted to perform this operation. */ - public abstract void refreshRelationshipReferenceCopy(String serverName, + public abstract void refreshRelationshipReferenceCopy(String userId, String relationshipGUID, String typeDefGUID, String typeDefName,
