ATLAS-2722: moved unused code from branch-1.0
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/b0ecc36a Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/b0ecc36a Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/b0ecc36a Branch: refs/heads/branch-1.0 Commit: b0ecc36ac9498f2e2f08d1b5e8c6b81ac76a5954 Parents: eb4c3d9 Author: Madhan Neethiraj <mad...@apache.org> Authored: Fri May 25 07:20:08 2018 -0700 Committer: Madhan Neethiraj <mad...@apache.org> Committed: Fri May 25 12:13:34 2018 -0700 ---------------------------------------------------------------------- om-fwk-ocf/README.md | 85 - om-fwk-ocf/pom.xml | 82 - .../java/org/apache/atlas/ocf/Connector.java | 130 - .../org/apache/atlas/ocf/ConnectorBase.java | 296 - .../org/apache/atlas/ocf/ConnectorBroker.java | 357 - .../org/apache/atlas/ocf/ConnectorProvider.java | 49 - .../apache/atlas/ocf/ConnectorProviderBase.java | 323 - .../ocf/ffdc/ConnectionCheckedException.java | 78 - .../ocf/ffdc/ConnectorCheckedException.java | 76 - .../atlas/ocf/ffdc/OCFCheckedExceptionBase.java | 178 - .../org/apache/atlas/ocf/ffdc/OCFErrorCode.java | 270 - .../atlas/ocf/ffdc/OCFRuntimeException.java | 190 - .../atlas/ocf/ffdc/PropertyServerException.java | 77 - .../java/org/apache/atlas/ocf/ffdc/README.md | 46 - .../ocf/properties/AdditionalProperties.java | 156 - .../apache/atlas/ocf/properties/Annotation.java | 377 - .../atlas/ocf/properties/AnnotationStatus.java | 114 - .../atlas/ocf/properties/Annotations.java | 128 - .../atlas/ocf/properties/AssetDescriptor.java | 166 - .../atlas/ocf/properties/AssetDetail.java | 332 - .../atlas/ocf/properties/AssetPropertyBase.java | 139 - .../properties/AssetPropertyIteratorBase.java | 107 - .../atlas/ocf/properties/AssetSummary.java | 253 - .../atlas/ocf/properties/AssetUniverse.java | 338 - .../atlas/ocf/properties/Certification.java | 303 - .../atlas/ocf/properties/Certifications.java | 128 - .../atlas/ocf/properties/Classification.java | 175 - .../atlas/ocf/properties/Classifications.java | 128 - .../apache/atlas/ocf/properties/Comment.java | 177 - .../atlas/ocf/properties/CommentType.java | 112 - .../apache/atlas/ocf/properties/Comments.java | 127 - .../properties/ConnectedAssetProperties.java | 137 - .../apache/atlas/ocf/properties/Connection.java | 365 - .../atlas/ocf/properties/Connections.java | 127 - .../atlas/ocf/properties/ConnectorType.java | 221 - .../ocf/properties/DerivedSchemaElement.java | 169 - .../atlas/ocf/properties/ElementHeader.java | 161 - .../atlas/ocf/properties/ElementOrigin.java | 144 - .../atlas/ocf/properties/ElementType.java | 187 - .../ocf/properties/EmbeddedConnection.java | 131 - .../ocf/properties/EmbeddedConnections.java | 127 - .../apache/atlas/ocf/properties/Endpoint.java | 296 - .../ocf/properties/ExternalIdentifier.java | 215 - .../ocf/properties/ExternalIdentifiers.java | 127 - .../atlas/ocf/properties/ExternalReference.java | 193 - .../ocf/properties/ExternalReferences.java | 127 - .../apache/atlas/ocf/properties/Feedback.java | 192 - .../atlas/ocf/properties/InformalTag.java | 196 - .../atlas/ocf/properties/InformalTags.java | 127 - .../apache/atlas/ocf/properties/KeyPattern.java | 114 - .../apache/atlas/ocf/properties/License.java | 299 - .../apache/atlas/ocf/properties/Licenses.java | 127 - .../org/apache/atlas/ocf/properties/Like.java | 102 - .../org/apache/atlas/ocf/properties/Likes.java | 127 - .../apache/atlas/ocf/properties/Lineage.java | 77 - .../apache/atlas/ocf/properties/Location.java | 124 - .../apache/atlas/ocf/properties/Locations.java | 127 - .../atlas/ocf/properties/MapSchemaElement.java | 170 - .../apache/atlas/ocf/properties/Meaning.java | 123 - .../apache/atlas/ocf/properties/Meanings.java | 127 - .../org/apache/atlas/ocf/properties/Note.java | 155 - .../apache/atlas/ocf/properties/NoteLog.java | 161 - .../apache/atlas/ocf/properties/NoteLogs.java | 127 - .../org/apache/atlas/ocf/properties/Notes.java | 127 - .../atlas/ocf/properties/PagingIterator.java | 337 - .../ocf/properties/PrimitiveSchemaElement.java | 150 - .../atlas/ocf/properties/PropertyBase.java | 113 - .../org/apache/atlas/ocf/properties/Rating.java | 142 - .../apache/atlas/ocf/properties/Ratings.java | 128 - .../atlas/ocf/properties/Referenceable.java | 176 - .../atlas/ocf/properties/RelatedAsset.java | 167 - .../ocf/properties/RelatedAssetProperties.java | 143 - .../atlas/ocf/properties/RelatedAssets.java | 127 - .../ocf/properties/RelatedMediaReference.java | 240 - .../ocf/properties/RelatedMediaReferences.java | 127 - .../atlas/ocf/properties/RelatedMediaType.java | 102 - .../atlas/ocf/properties/RelatedMediaUsage.java | 112 - .../org/apache/atlas/ocf/properties/Schema.java | 245 - .../atlas/ocf/properties/SchemaAttribute.java | 147 - .../atlas/ocf/properties/SchemaAttributes.java | 128 - .../atlas/ocf/properties/SchemaElement.java | 173 - .../properties/SchemaImplementationQueries.java | 129 - .../properties/SchemaImplementationQuery.java | 141 - .../apache/atlas/ocf/properties/SchemaLink.java | 172 - .../atlas/ocf/properties/SchemaLinks.java | 128 - .../apache/atlas/ocf/properties/SchemaType.java | 110 - .../apache/atlas/ocf/properties/StarRating.java | 113 - .../atlas/ocf/properties/VirtualConnection.java | 152 - .../properties/beans/AdditionalProperties.java | 69 - .../atlas/ocf/properties/beans/Connection.java | 181 - .../ocf/properties/beans/ConnectorType.java | 143 - .../atlas/ocf/properties/beans/ElementType.java | 134 - .../atlas/ocf/properties/beans/Endpoint.java | 164 - omag-api/pom.xml | 121 - .../atlas/omag/admin/LocalRepositoryMode.java | 102 - .../omag/admin/OMAGServerAdministration.java | 377 - .../atlas/omag/admin/OMAGServiceMode.java | 87 - .../server/OMAGAccessServiceRegistration.java | 47 - .../admin/server/OMAGServerAdminResource.java | 1379 -- .../server/properties/OMAGAPIResponse.java | 172 - .../properties/OMAGServerConfigResponse.java | 80 - .../admin/server/properties/VoidResponse.java | 54 - .../properties/AccessServiceConfig.java | 431 - .../properties/OMAGServerConfig.java | 256 - .../registration/AccessServiceAdmin.java | 54 - .../registration/AccessServiceDescription.java | 185 - .../AccessServiceOperationalStatus.java | 88 - .../registration/AccessServiceRegistration.java | 228 - .../store/OMAGServerConfigStore.java | 48 - .../OMAGServerConfigStoreConnectorBase.java | 28 - .../OMAGServerConfigStoreProviderBase.java | 41 - .../FileBasedServerConfigStoreConnector.java | 178 - .../FileBasedServerConfigStoreProvider.java | 37 - .../apache/atlas/omag/ffdc/OMAGErrorCode.java | 234 - .../exception/OMAGCheckedExceptionBase.java | 160 - .../OMAGConfigurationErrorException.java | 58 - .../OMAGInvalidParameterException.java | 57 - .../exception/OMAGNotAuthorizedException.java | 57 - omag-server/README.md | 24 - omag-server/pom.xml | 137 - .../atlas/omag/application/OMAGApplication.java | 41 - omas-assetconsumer/README.md | 38 - omas-assetconsumer/pom.xml | 107 - .../assetconsumer/AssetConsumerInterface.java | 388 - .../assetconsumer/admin/AssetConsumerAdmin.java | 133 - .../auditlog/AssetConsumerAuditCode.java | 174 - .../assetconsumer/client/AssetConsumer.java | 1260 -- .../events/AssetConsumerEvent.java | 93 - .../events/AssetConsumerEventType.java | 98 - .../ffdc/AssetConsumerErrorCode.java | 251 - .../atlas/omas/assetconsumer/ffdc/README.md | 46 - .../AmbiguousConnectionNameException.java | 59 - .../AssetConsumerCheckedExceptionBase.java | 173 - .../AssetConsumerRuntimeException.java | 158 - .../exceptions/InvalidParameterException.java | 58 - .../exceptions/PropertyServerException.java | 58 - .../UnrecognizedConnectionGUIDException.java | 59 - .../UnrecognizedConnectionNameException.java | 58 - .../UnrecognizedConnectionURLException.java | 58 - .../exceptions/UserNotAuthorizedException.java | 58 - .../AssetConsumerOMRSTopicListener.java | 249 - .../omas/assetconsumer/properties/Asset.java | 179 - .../publisher/AssetConsumerPublisher.java | 319 - .../server/AssetConsumerRESTServices.java | 1057 - .../assetconsumer/server/AuditLogHandler.java | 137 - .../assetconsumer/server/ConnectionHandler.java | 645 - .../omas/assetconsumer/server/ErrorHandler.java | 333 - .../assetconsumer/server/FeedbackHandler.java | 1013 - .../AssetConsumerOMASAPIResponse.java | 172 - .../server/properties/ConnectionResponse.java | 81 - .../server/properties/GUIDResponse.java | 81 - .../server/properties/VoidResponse.java | 54 - omas-connectedasset/README.md | 42 - omas-connectedasset/pom.xml | 111 - .../connectedasset/ConnectedAssetInterface.java | 67 - .../admin/ConnectedAssetAdmin.java | 80 - .../connectedasset/client/ConnectedAsset.java | 117 - .../client/ConnectedAssetProperties.java | 174 - .../ffdc/ConnectedAssetErrorCode.java | 194 - .../atlas/omas/connectedasset/ffdc/README.md | 46 - .../ConnectedAssetCheckedExceptionBase.java | 175 - .../ConnectedAssetRuntimeException.java | 158 - .../exceptions/InvalidParameterException.java | 58 - .../exceptions/PropertyServerException.java | 57 - .../UnrecognizedConnectionGUIDException.java | 59 - .../exceptions/UserNotAuthorizedException.java | 58 - .../properties/AdditionalProperties.java | 149 - .../connectedasset/properties/Analysis.java | 108 - .../connectedasset/properties/Annotation.java | 472 - .../properties/AnnotationStatus.java | 98 - .../properties/AssetDescriptor.java | 154 - .../connectedasset/properties/AssetDetail.java | 356 - .../connectedasset/properties/AssetSummary.java | 384 - .../properties/AssetUniverse.java | 332 - .../properties/Certification.java | 321 - .../properties/Classification.java | 169 - .../omas/connectedasset/properties/Comment.java | 186 - .../connectedasset/properties/CommentType.java | 96 - .../connectedasset/properties/Connection.java | 313 - .../properties/ConnectorType.java | 173 - .../properties/DerivedSchemaElement.java | 129 - .../properties/ElementHeader.java | 208 - .../connectedasset/properties/ElementType.java | 237 - .../properties/EmbeddedConnection.java | 136 - .../connectedasset/properties/Endpoint.java | 236 - .../properties/ExternalIdentifier.java | 215 - .../properties/ExternalReference.java | 195 - .../connectedasset/properties/Feedback.java | 210 - .../connectedasset/properties/InformalTag.java | 197 - .../connectedasset/properties/KeyPattern.java | 98 - .../omas/connectedasset/properties/License.java | 317 - .../omas/connectedasset/properties/Like.java | 87 - .../omas/connectedasset/properties/Lineage.java | 69 - .../connectedasset/properties/Location.java | 111 - .../properties/MapSchemaElement.java | 137 - .../omas/connectedasset/properties/Meaning.java | 115 - .../omas/connectedasset/properties/Note.java | 140 - .../omas/connectedasset/properties/NoteLog.java | 149 - .../properties/PrimitiveSchemaElement.java | 110 - .../connectedasset/properties/PropertyBase.java | 78 - .../omas/connectedasset/properties/Rating.java | 140 - .../properties/Referenceable.java | 170 - .../connectedasset/properties/RelatedAsset.java | 141 - .../properties/RelatedAssetProperties.java | 143 - .../properties/RelatedMediaReference.java | 253 - .../properties/RelatedMediaType.java | 90 - .../properties/RelatedMediaUsage.java | 96 - .../omas/connectedasset/properties/Schema.java | 218 - .../properties/SchemaAttribute.java | 182 - .../properties/SchemaElement.java | 161 - .../properties/SchemaImplementationQuery.java | 155 - .../connectedasset/properties/SchemaLink.java | 197 - .../connectedasset/properties/StarRating.java | 97 - .../properties/VirtualConnection.java | 113 - .../server/ConnectedAssetRESTServices.java | 87 - .../properties/AssetUniverseResponse.java | 83 - .../ConnectedAssetOMASAPIResponse.java | 172 - omrs/README.md | 43 - omrs/pom.xml | 111 - .../AtlasOMRSRepositoryEventMapper.java | 53 - .../AtlasOMRSRepositoryEventMapperProvider.java | 45 - .../LocalAtlasOMRSMetadataCollection.java | 61 - .../LocalAtlasOMRSRepositoryConnector.java | 54 - ...calAtlasOMRSRepositoryConnectorProvider.java | 45 - .../IGCOMRSRepositoryEventMapper.java | 57 - .../IGCOMRSRepositoryEventMapperProvider.java | 44 - .../IGCOMRSMetadataCollection.java | 60 - .../IGCOMRSRepositoryConnector.java | 54 - .../IGCOMRSRepositoryConnectorProvider.java | 44 - .../IGCV2OMRSRepositoryEventMapper.java | 58 - .../IGCV2OMRSRepositoryEventMapperProvider.java | 45 - .../IGCV2OMRSMetadataCollection.java | 60 - .../IGCV2OMRSRepositoryConnector.java | 54 - .../IGCV2OMRSRepositoryConnectorProvider.java | 45 - .../InMemoryOMRSMetadataCollection.java | 4913 ----- .../InMemoryOMRSMetadataStore.java | 615 - .../InMemoryOMRSRepositoryConnector.java | 61 - ...InMemoryOMRSRepositoryConnectorProvider.java | 45 - .../omrs/admin/OMRSConfigurationFactory.java | 870 - .../omrs/admin/OMRSOperationalServices.java | 1012 - .../omrs/admin/properties/CohortConfig.java | 258 - .../properties/EnterpriseAccessConfig.java | 177 - .../admin/properties/LocalRepositoryConfig.java | 348 - .../OpenMetadataEventProtocolVersion.java | 37 - .../properties/OpenMetadataExchangeRule.java | 116 - .../properties/RepositoryServicesConfig.java | 261 - .../omrs/archivemanager/OMRSArchiveBuilder.java | 1279 -- .../omrs/archivemanager/OMRSArchiveHelper.java | 619 - .../omrs/archivemanager/OMRSArchiveManager.java | 433 - .../omrs/archivemanager/OMRSArchiveWriter.java | 108 - .../opentypes/OpenMetadataTypesArchive.java | 17114 ----------------- .../properties/OpenMetadataArchive.java | 126 - .../OpenMetadataArchiveInstanceStore.java | 124 - .../OpenMetadataArchiveProperties.java | 271 - .../properties/OpenMetadataArchiveType.java | 94 - .../OpenMetadataArchiveTypeStore.java | 163 - .../store/OpenMetadataArchiveStore.java | 60 - .../OpenMetadataArchiveStoreConnector.java | 27 - .../OpenMetadataArchiveStoreProviderBase.java | 41 - ...eBasedOpenMetadataArchiveStoreConnector.java | 183 - ...leBasedOpenMetadataArchiveStoreProvider.java | 37 - .../atlas/omrs/auditlog/OMRSAuditCode.java | 624 - .../atlas/omrs/auditlog/OMRSAuditLog.java | 228 - .../auditlog/OMRSAuditLogRecordSeverity.java | 122 - .../omrs/auditlog/OMRSAuditingComponent.java | 261 - .../omrs/auditlog/store/OMRSAuditLogRecord.java | 383 - .../store/OMRSAuditLogRecordOriginator.java | 189 - .../store/OMRSAuditLogReportingComponent.java | 155 - .../omrs/auditlog/store/OMRSAuditLogStore.java | 108 - .../store/OMRSAuditLogStoreConnectorBase.java | 27 - .../store/OMRSAuditLogStoreProviderBase.java | 41 - .../file/FileBasedAuditLogStoreConnector.java | 187 - .../file/FileBasedAuditLogStoreProvider.java | 37 - .../OMRSConnectionConsumer.java | 68 - .../connectormanager/OMRSConnectorConsumer.java | 61 - .../connectormanager/OMRSConnectorManager.java | 48 - .../OMRSEnterpriseConnectorManager.java | 647 - .../EnterpriseOMRSConnection.java | 49 - .../EnterpriseOMRSConnectorProperties.java | 52 - .../EnterpriseOMRSConnectorProvider.java | 177 - .../EnterpriseOMRSMetadataCollection.java | 6737 ------- .../EnterpriseOMRSRepositoryConnector.java | 473 - .../omrs/eventmanagement/OMRSEventListener.java | 826 - .../eventmanagement/OMRSEventPublisher.java | 1955 -- .../OMRSRepositoryEventExchangeRule.java | 332 - .../OMRSRepositoryEventManager.java | 1631 -- .../OMRSRepositoryEventProcessor.java | 30 - .../omrs/eventmanagement/events/OMRSEvent.java | 581 - .../events/OMRSEventCategory.java | 101 - .../events/OMRSEventDirection.java | 84 - .../events/OMRSEventErrorCode.java | 39 - .../events/OMRSEventOriginator.java | 171 - .../events/OMRSInstanceEvent.java | 477 - .../events/OMRSInstanceEventErrorCode.java | 118 - .../events/OMRSInstanceEventProcessor.java | 659 - .../events/OMRSInstanceEventType.java | 148 - .../events/OMRSRegistryEvent.java | 266 - .../events/OMRSRegistryEventErrorCode.java | 125 - .../events/OMRSRegistryEventProcessor.java | 153 - .../events/OMRSRegistryEventType.java | 128 - .../events/OMRSTypeDefEvent.java | 453 - .../events/OMRSTypeDefEventErrorCode.java | 122 - .../events/OMRSTypeDefEventProcessor.java | 262 - .../events/OMRSTypeDefEventType.java | 111 - .../eventmanagement/events/v1/OMRSEventV1.java | 132 - .../events/v1/OMRSEventV1ErrorSection.java | 190 - .../events/v1/OMRSEventV1InstanceSection.java | 158 - .../events/v1/OMRSEventV1RegistrySection.java | 83 - .../events/v1/OMRSEventV1TypeDefSection.java | 136 - .../OMRSRepositoryEventMapper.java | 107 - .../OMRSRepositoryEventMapperBase.java | 33 - .../OMRSRepositoryEventMapperConnector.java | 169 - .../OMRSRepositoryEventMapperProviderBase.java | 41 - .../apache/atlas/omrs/ffdc/OMRSErrorCode.java | 780 - .../java/org/apache/atlas/omrs/ffdc/README.md | 47 - .../exception/ClassificationErrorException.java | 57 - .../ffdc/exception/EntityConflictException.java | 60 - .../exception/EntityNotDeletedException.java | 57 - .../ffdc/exception/EntityNotKnownException.java | 57 - .../exception/EntityProxyOnlyException.java | 57 - .../FunctionNotSupportedException.java | 60 - .../ffdc/exception/HomeEntityException.java | 57 - .../exception/HomeRelationshipException.java | 57 - .../ffdc/exception/InvalidEntityException.java | 60 - .../exception/InvalidParameterException.java | 57 - .../exception/InvalidRelationshipException.java | 60 - .../ffdc/exception/InvalidTypeDefException.java | 60 - .../NotImplementedRuntimeException.java | 32 - .../exception/OMRSCheckedExceptionBase.java | 161 - .../exception/OMRSConfigErrorException.java | 185 - .../exception/OMRSConnectorErrorException.java | 184 - .../ffdc/exception/OMRSLogicErrorException.java | 185 - .../ffdc/exception/OMRSRuntimeException.java | 181 - .../ffdc/exception/PagingErrorException.java | 57 - .../ffdc/exception/PatchErrorException.java | 60 - .../ffdc/exception/PropertyErrorException.java | 57 - .../RelationshipConflictException.java | 60 - .../RelationshipNotDeletedException.java | 58 - .../RelationshipNotKnownException.java | 61 - .../exception/RepositoryErrorException.java | 61 - .../exception/StatusNotSupportedException.java | 61 - .../exception/TypeDefConflictException.java | 60 - .../ffdc/exception/TypeDefInUseException.java | 60 - .../ffdc/exception/TypeDefKnownException.java | 60 - .../exception/TypeDefNotKnownException.java | 60 - .../exception/TypeDefNotSupportedException.java | 60 - .../omrs/ffdc/exception/TypeErrorException.java | 57 - .../exception/UserNotAuthorizedException.java | 57 - .../localrepository/OMRSLocalRepository.java | 97 - .../LocalOMRSConnectorProvider.java | 190 - .../LocalOMRSInstanceEventProcessor.java | 1500 -- .../LocalOMRSMetadataCollection.java | 4678 ----- .../LocalOMRSRepositoryConnector.java | 477 - .../OMRSInstanceRetrievalEventProcessor.java | 86 - .../OMRSInstanceHelper.java | 151 - .../OMRSInstanceValidator.java | 91 - .../OMRSRepositoryContentManager.java | 2357 --- .../OMRSRepositoryHelper.java | 1782 -- .../OMRSRepositoryValidator.java | 3299 ---- .../OMRSTypeDefHelper.java | 155 - .../OMRSTypeDefManager.java | 196 - .../OMRSTypeDefValidator.java | 236 - .../OMRSMetadataCollection.java | 2139 -- .../OMRSMetadataCollectionBase.java | 4407 ----- .../properties/MatchCriteria.java | 90 - .../properties/SequencingOrder.java | 121 - .../instances/ArrayPropertyValue.java | 191 - .../properties/instances/Classification.java | 263 - .../instances/ClassificationOrigin.java | 91 - .../properties/instances/EntityDetail.java | 117 - .../properties/instances/EntityProxy.java | 128 - .../properties/instances/EntitySummary.java | 135 - .../properties/instances/EntityUniverse.java | 140 - .../properties/instances/EnumPropertyValue.java | 133 - .../instances/InstanceAuditHeader.java | 275 - .../instances/InstanceElementHeader.java | 63 - .../properties/instances/InstanceGraph.java | 316 - .../properties/instances/InstanceHeader.java | 182 - .../instances/InstanceProperties.java | 226 - .../instances/InstancePropertyCategory.java | 101 - .../instances/InstancePropertyValue.java | 143 - .../instances/InstanceProvenanceType.java | 119 - .../properties/instances/InstanceStatus.java | 101 - .../properties/instances/InstanceType.java | 360 - .../properties/instances/MapPropertyValue.java | 167 - .../instances/PrimitivePropertyValue.java | 250 - .../properties/instances/Relationship.java | 330 - .../instances/StructPropertyValue.java | 128 - .../typedefs/AttributeCardinality.java | 121 - .../properties/typedefs/AttributeTypeDef.java | 322 - .../typedefs/AttributeTypeDefCategory.java | 94 - .../properties/typedefs/ClassificationDef.java | 181 - .../typedefs/ClassificationPropagationRule.java | 97 - .../properties/typedefs/CollectionDef.java | 161 - .../typedefs/CollectionDefCategory.java | 110 - .../properties/typedefs/EntityDef.java | 104 - .../properties/typedefs/EnumDef.java | 130 - .../properties/typedefs/EnumElementDef.java | 154 - .../typedefs/ExternalStandardMapping.java | 151 - .../properties/typedefs/PrimitiveDef.java | 93 - .../typedefs/PrimitiveDefCategory.java | 113 - .../typedefs/RelationshipCategory.java | 106 - .../typedefs/RelationshipContainerEnd.java | 85 - .../properties/typedefs/RelationshipDef.java | 227 - .../properties/typedefs/RelationshipEndDef.java | 203 - .../properties/typedefs/TypeDef.java | 490 - .../properties/typedefs/TypeDefAttribute.java | 328 - .../properties/typedefs/TypeDefCategory.java | 94 - .../typedefs/TypeDefElementHeader.java | 61 - .../properties/typedefs/TypeDefGallery.java | 139 - .../properties/typedefs/TypeDefLink.java | 185 - .../properties/typedefs/TypeDefPatch.java | 454 - .../properties/typedefs/TypeDefPatchAction.java | 113 - .../properties/typedefs/TypeDefProperties.java | 121 - .../properties/typedefs/TypeDefSummary.java | 178 - .../OMRSMetadataCollectionManager.java | 156 - .../OMRSRepositoryConnector.java | 274 - .../OMRSRepositoryConnectorProviderBase.java | 43 - .../metadatahighway/CohortConnectionStatus.java | 122 - .../omrs/metadatahighway/OMRSCohortManager.java | 390 - .../OMRSMetadataHighwayManager.java | 456 - .../cohortregistry/OMRSCohortRegistry.java | 1043 - .../store/OMRSCohortRegistryStore.java | 114 - .../OMRSCohortRegistryStoreConnectorBase.java | 28 - .../OMRSCohortRegistryStoreProviderBase.java | 41 - .../file/FileBasedRegistryStoreConnector.java | 614 - .../file/FileBasedRegistryStoreProvider.java | 37 - .../store/properties/CohortMembership.java | 109 - .../store/properties/MemberRegistration.java | 215 - .../AttributeTypeDefListResponse.java | 84 - .../properties/AttributeTypeDefResponse.java | 84 - .../omrs/rest/properties/BooleanResponse.java | 81 - .../rest/properties/EntityDetailResponse.java | 82 - .../rest/properties/EntityListResponse.java | 87 - .../rest/properties/EntitySummaryResponse.java | 81 - .../rest/properties/InstanceGraphResponse.java | 84 - .../properties/OMRSRESTAPIPagedResponse.java | 130 - .../rest/properties/OMRSRESTAPIResponse.java | 172 - .../properties/RelationshipListResponse.java | 88 - .../rest/properties/RelationshipResponse.java | 83 - .../rest/properties/TypeDefGalleryResponse.java | 110 - .../rest/properties/TypeDefListResponse.java | 84 - .../omrs/rest/properties/TypeDefResponse.java | 82 - .../omrs/rest/properties/VoidResponse.java | 54 - .../OMRSRESTMetadataCollection.java | 4967 ----- .../OMRSRESTRepositoryConnector.java | 104 - .../OMRSRESTRepositoryConnectorProvider.java | 44 - .../rest/server/OMRSRepositoryRESTServices.java | 5222 ----- .../atlas/omrs/topicconnectors/OMRSTopic.java | 43 - .../topicconnectors/OMRSTopicConnector.java | 231 - .../omrs/topicconnectors/OMRSTopicListener.java | 35 - .../inmemory/InMemoryOMRSTopicConnector.java | 109 - .../inmemory/InMemoryOMRSTopicProvider.java | 39 - .../kafka/KafkaOMRSTopicConnector.java | 67 - .../kafka/KafkaOMRSTopicProvider.java | 38 - .../opentypes/TestOpenMetadataTypesArchive.java | 47 - .../store/TestOMRSArchiveBuilder.java | 339 - pom.xml | 6 - .../atlas/classification/InterfaceAudience.java | 48 - 459 files changed, 139162 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/README.md ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/README.md b/om-fwk-ocf/README.md deleted file mode 100644 index 2048d31..0000000 --- a/om-fwk-ocf/README.md +++ /dev/null @@ -1,85 +0,0 @@ -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - -# Open Connector Framework (OCF) - -The OCF, as the name suggests, is an open framework for supporting connectors. -Connectors support access to remote assets such as data sets, APIs and software components. -OCF Connectors also provide access to metadata about the asset and they may call the Governance Action Framework -GAF to execute appropriate governance actions related to the use of these assets in real-time. - -## Terminology - -There are a number of key components within the OCF: - -* **Connector** - this is a Java object for accessing an asset and its -related metadata and governance functions. - -* **Connection** - this is a Java object containing the properties needed to -create a connector instance. -Connection properties are typically managed as metadata entities in the metadata -repository but they can also be manually populated. -Connections have 2 sub-objects: - * **ConnectorType** - this is a Java object that describes the type of - the connector, including the Java implementation class of its connector provider (see below). - * **Endpoint** - this is the Java object that describes the server endpoint where the asset is accessed from. - -* **Connector Broker** - this is a generic factory for all OCF connectors. - -* **Connector Provider** - this is a factory for a specific type of connector. -It is used by the Connector Broker. - -* **Connected Asset** - this is the asset that the connector is accessing. It is hosted on a server -and the connector makes the remote calls necessary to retrieve, update, delete the asset itself. -The connector also includes an API to retrieve the metadata properties about the connected asset. - -## Open Metadata Type Models - -Model 0040 defines the structure of an Endpoint and -model 0201 defines the structures for Connections and Connector Types. -Model 0205 defines the linkage between the connection and the connected asset. - -## Java Implementation - -The OCF provides the interface schema and base class implementation for these components. -The Java implementation is located in packages org.apache.atlas.ocf.*: - -* **org.apache.atlas.ocf** - Java interface and base classes for Connector and Connector Provider -plus the implementation of the Connector Broker. - -* **org.apache.atlas.ocf.ffdc** - Implementation of the OCF's error codes and exceptions. - -* **org.apache.atlas.ocf.properties** - Implementation of the properties for connections and connected assets. -These are simple POJO objects. - -## Related Modules - -The ConnectedAsset OMAS (omas-connectedasset) supports the retrieval -of connection and connected asset properties from the open metadata -repository/repositories. - -The AssetConsumer OMAS (omas-assetconsumer) embeds the OCF to provide -client-side support for connectors. - -The Open Metadata Repository Services (omrs) provides implementations -of OCF connectors for accessing open metadata repository servers. -These connectors are collectively called the OMRS Connectors. - -## Wiki References - -Further information on the OCF at: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69408729 http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/pom.xml ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/pom.xml b/om-fwk-ocf/pom.xml deleted file mode 100644 index fc7fb83..0000000 --- a/om-fwk-ocf/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <artifactId>apache-atlas</artifactId> - <groupId>org.apache.atlas</groupId> - <version>1.0.0</version> - </parent> - - <artifactId>om-fwk-ocf</artifactId> - - <name>Open Connector Framework (OCF)</name> - <description>Open Connector Framework (OCF) interfaces and implementation for building metadata and governance enabled connectors.</description> - - <packaging>jar</packaging> - - <dependencies> - - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-base</artifactId> - <version>${jackson.version}</version> - </dependency> - - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> - <version>${jackson.version}</version> - </dependency> - - <dependency> - <groupId>javax.inject</groupId> - <artifactId>javax.inject</artifactId> - <version>${javax-inject.version}</version> - </dependency> - - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - <scope>test</scope> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.4</version> - <executions> - <execution> - <goals> - <goal>test-jar</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java b/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java deleted file mode 100644 index 06c4e3d..0000000 --- a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/Connector.java +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.ocf; - -import org.apache.atlas.ocf.ffdc.ConnectorCheckedException; -import org.apache.atlas.ocf.ffdc.PropertyServerException; -import org.apache.atlas.ocf.properties.ConnectedAssetProperties; -import org.apache.atlas.ocf.properties.Connection; - -/** - * <p> - * The Connector is the interface for all connector instances. Connectors are client-side interfaces to assets - * such as data stores, data sets, APIs, analytical functions. They handle the communication with the server that - * hosts the assets, along with the communication with the metadata server to serve up metadata (properties) about - * the assets. - * </p> - * <p> - * Each connector implementation is paired with a connector provider. The connector provider is the factory for - * connector instances. - * </p> - * <p> - * The Connector interface defines that a connector instance should be able to return a unique - * identifier, a connection object and a metadata object called ConnectedAssetProperties. - * </p> - * <p> - * Each specific implementation of a connector then extends the Connector interface to add the methods to work with the - * particular type of asset it supports. For example, a JDBC connector would add the standard JDBC SQL interface, the - * OMRS Connectors add the metadata repository management APIs... - * </p> - * <p> - * The initialize() method is called by the Connector Provider to set up the connector instance Id and the - * Connection properties for the connector as part of its construction process. - * </p> - * <p> - * ConnectedAssetProperties provides descriptive properties about the asset that the connector is accessing. - * It is supplied to the connector later during its initialization through the initializeConnectedAssetProperties() method. - * See AssetConsumer OMAS for an example of this. - * </p> - * <p> - * Both the connector and the connector provider have base classes (ConnectorBase and - * ConnectorProviderBase respectively) that implement all of the standard methods. The connector developer extends - * these classes to add the specific methods to manage the asset and configure the base classes. - * </p> - */ -public abstract class Connector -{ - /** - * Call made by the ConnectorProvider to initialize the Connector with the base services. - * - * @param connectorInstanceId - unique id for the connector instance - useful for messages etc - * @param connection - POJO for the configuration used to create the connector. - */ - public abstract void initialize(String connectorInstanceId, - Connection connection); - - - /** - * Returns the unique connector instance id that assigned to the connector instance when it was created. - * It is useful for error and audit messages. - * - * @return guid for the connector instance - */ - public abstract String getConnectorInstanceId(); - - - /** - * Returns the connection object that was used to create the connector instance. Its contents are never refreshed - * during the lifetime of a connector instance even if the connection information is updated or removed from - * the originating metadata repository. - * - * @return connection object - */ - public abstract Connection getConnection(); - - - /** - * Set up the connected asset properties object. This provides the known metadata properties stored in one or more - * metadata repositories. The implementation of the connected asset properties object is free to determine when - * the properties are populated. It may be as lazy as whenever getConnectedAssetProperties() is called. - * - * @param connectedAssetProperties - properties of the connected asset - */ - public abstract void initializeConnectedAssetProperties(ConnectedAssetProperties connectedAssetProperties); - - - /** - * Returns the properties that contain the metadata for the asset. The asset metadata is retrieved from the - * metadata repository and cached in the ConnectedAssetProperties object each time the getConnectedAssetProperties - * method is requested by the caller. Once the ConnectedAssetProperties object has the metadata cached, it can be - * used to access the asset property values many times without a return to the metadata repository. - * The cache of metadata can be refreshed simply by calling this getConnectedAssetProperties() method again. - * - * @return ConnectedAssetProperties - connected asset properties - * @throws PropertyServerException - indicates a problem retrieving properties from a metadata repository - */ - public abstract ConnectedAssetProperties getConnectedAssetProperties() throws PropertyServerException; - - - /** - * Indicates that the connector is completely configured and can begin processing. - * - * @throws ConnectorCheckedException - there is a problem within the connector. - */ - public abstract void start() throws ConnectorCheckedException; - - - - /** - * Free up any resources held since the connector is no longer needed. - * - * @throws ConnectorCheckedException - there is a problem within the connector. - */ - public abstract void disconnect() throws ConnectorCheckedException; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java b/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java deleted file mode 100644 index 28070dd..0000000 --- a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBase.java +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.atlas.ocf; - -import org.apache.atlas.ocf.ffdc.ConnectorCheckedException; -import org.apache.atlas.ocf.ffdc.PropertyServerException; -import org.apache.atlas.ocf.properties.AdditionalProperties; -import org.apache.atlas.ocf.properties.ConnectedAssetProperties; -import org.apache.atlas.ocf.properties.Connection; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.UUID; - -/** - * The ConnectorBase is an implementation of the Connector interface. - * - * Connectors are client-side interfaces to assets such as data stores, data sets, APIs, analytical functions. - * They handle the communication with the server that hosts the assets, along with the communication with the - * metadata server to serve up metadata about the assets, and support for an audit log for the caller to log its - * activity. - * - * Each connector implementation is paired with a connector provider. The connector provider is the factory for - * connector instances. - * - * The Connector interface defines that a connector instance should be able to return a unique - * identifier, a connection object and a metadata properties object for its connected asset. - * These are supplied to the connector during its initialization. - * - * The ConnectorBase base class implements all of the methods required by the Connector interface. - * Each specific implementation of a connector then extends this interface to add the methods to work with the - * particular type of asset it supports. For example, a JDBC connector would add the standard JDBC SQL interface, the - * OMRS Connectors add the metadata repository management APIs... - */ -public abstract class ConnectorBase extends Connector -{ - protected String connectorInstanceId = null; - protected Connection connection = null; - protected ConnectedAssetProperties connectedAssetProperties = null; - protected boolean isActive = false; - - /* - * Secured properties are protected properties from the connection. They are retrieved as a protected - * variable to allow subclasses of ConnectorBase to access them. - */ - protected AdditionalProperties securedProperties = null; - - private static final int hashCode = UUID.randomUUID().hashCode(); - private static final Logger log = LoggerFactory.getLogger(ConnectorBase.class); - - /** - * Typical Constructor - Connectors should always have a constructor requiring no parameters and perform - * initialization in the initialize method. - */ - public ConnectorBase() - { - /* - * Nothing to do - real initialization happens in the initialize() method. - * This pattern is used to make it possible for ConnectorBrokerBase to support the dynamic loading and - * instantiation of arbitrary connector instances without needing to know the specifics of their constructor - * methods - */ - - if (log.isDebugEnabled()) - { - log.debug("New Connector Requested"); - } - } - - - /** - * Call made by the ConnectorProvider to initialize the Connector with the base services. - * - * @param connectorInstanceId - unique id for the connector instance - useful for messages etc - * @param connection - POJO for the configuration used to create the connector. - */ - public void initialize(String connectorInstanceId, - Connection connection) - { - this.connectorInstanceId = connectorInstanceId; - this.connection = connection; - - /* - * Set up the secured properties - */ - ProtectedConnection protectedConnection = new ProtectedConnection(connection); - this.securedProperties = protectedConnection.getSecuredProperties(); - - if (log.isDebugEnabled()) - { - log.debug("New Connector initialized: " + connectorInstanceId + ", " + connection.getConnectionName()); - } - } - - - /** - * Returns the unique connector instance id that assigned to the connector instance when it was created. - * It is useful for error and audit messages. - * - * @return guid for the connector instance - */ - public String getConnectorInstanceId() - { - return connectorInstanceId; - } - - - /** - * Returns the connection object that was used to create the connector instance. Its contents are never refreshed - * during the lifetime of the connector instance, even if the connection information is updated or removed - * from the originating metadata repository. - * - * @return connection object - */ - public Connection getConnection() - { - return connection; - } - - - /** - * Set up the connected asset properties object. This provides the known metadata properties stored in one or more - * metadata repositories. The properties are populated whenever getConnectedAssetProperties() is called. - * - * @param connectedAssetProperties - properties of the connected asset - */ - public void initializeConnectedAssetProperties(ConnectedAssetProperties connectedAssetProperties) - { - this.connectedAssetProperties = connectedAssetProperties; - } - - - /** - * Returns the properties that contain the metadata for the asset. The asset metadata is retrieved from the - * metadata repository and cached in the ConnectedAssetProperties object each time the getConnectedAssetProperties - * method is requested by the caller. Once the ConnectedAssetProperties object has the metadata cached, it can be - * used to access the asset property values many times without a return to the metadata repository. - * The cache of metadata can be refreshed simply by calling this getConnectedAssetProperties() method again. - * - * @return ConnectedAssetProperties - connected asset properties - * @throws PropertyServerException - indicates a problem retrieving properties from a metadata repository - */ - public ConnectedAssetProperties getConnectedAssetProperties() throws PropertyServerException - { - if (log.isDebugEnabled()) - { - log.debug("ConnectedAssetProperties requested: " + connectorInstanceId + ", " + connection.getConnectionName()); - } - - if (connectedAssetProperties != null) - { - connectedAssetProperties.refresh(); - } - - return connectedAssetProperties; - } - - - /** - * Indicates that the connector is completely configured and can begin processing. - * - * @throws ConnectorCheckedException - there is a problem within the connector. - */ - public void start() throws ConnectorCheckedException - { - isActive = true; - } - - - /** - * Free up any resources held since the connector is no longer needed. - * - * @throws ConnectorCheckedException - there is a problem within the connector. - */ - public void disconnect() throws ConnectorCheckedException - { - isActive = false; - } - - - /** - * Return a flag indicating whether the connector is active. This means it has been started and not yet - * disconnected. - * - * @return isActive flag - */ - public boolean isActive() - { - return isActive; - } - - - /** - * Provide a common implementation of hashCode for all OCF Connector objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to describe the hash code of the connector - * object. - * - * @return random UUID as hashcode - */ - public int hashCode() - { - return hashCode; - } - - - /** - * Provide a common implementation of equals for all OCF Connector Provider objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to evaluate the equality of the connector - * provider object. - * - * @param object - object to test - * @return boolean flag - */ - @Override - public boolean equals(Object object) - { - if (this == object) - { - return true; - } - if (object == null || getClass() != object.getClass()) - { - return false; - } - - ConnectorBase that = (ConnectorBase) object; - - if (connectorInstanceId != null ? !connectorInstanceId.equals(that.connectorInstanceId) : that.connectorInstanceId != null) - { - return false; - } - if (connection != null ? !connection.equals(that.connection) : that.connection != null) - { - return false; - } - return connectedAssetProperties != null ? connectedAssetProperties.equals(that.connectedAssetProperties) : that.connectedAssetProperties == null; - } - - - /** - * Standard toString method. - * - * @return print out of variables in a JSON-style - */ - @Override - public String toString() - { - return "ConnectorBase{" + - "connectorInstanceId='" + connectorInstanceId + '\'' + - ", connection=" + connection + - ", connectedAssetProperties=" + connectedAssetProperties + - '}'; - } - - private class ProtectedConnection extends Connection - { - private ProtectedConnection(Connection templateConnection) - { - super(templateConnection); - } - - /** - * Return a copy of the secured properties. Null means no secured properties are available. - * This method is protected so only OCF (or subclasses) can access them. When Connector is passed to calling - * OMAS, the secured properties are not available. - * - * @return secured properties - typically user credentials for the connection - */ - protected AdditionalProperties getSecuredProperties() - { - if (super.securedProperties == null) - { - return securedProperties; - } - else - { - return new AdditionalProperties(super.getParentAsset(), securedProperties); - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java b/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java deleted file mode 100644 index 18fec9a..0000000 --- a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorBroker.java +++ /dev/null @@ -1,357 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.atlas.ocf; - -import org.apache.atlas.ocf.ffdc.*; -import org.apache.atlas.ocf.properties.Connection; -import org.apache.atlas.ocf.properties.ConnectorType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.UUID; - -/** - * The ConnectorBroker is a generic factory for Open Connector Framework (OCF) Connectors. - * The OCF provides a default implementation because all of the implementation that is specific to a - * particular type of connector is delegated to the connector provider specified in the connection. - */ -public class ConnectorBroker -{ - private static final Logger log = LoggerFactory.getLogger(ConnectorBroker.class); - private final int hashCode = UUID.randomUUID().hashCode(); - - - /** - * Typical constructor - */ - public ConnectorBroker() - { - /* Nothing to do */ - } - - - /** - * Creates a new instance of a connector using the name of the connector provider in the supplied connection. - * - * @param connection - properties for the connector and connector provider. - * @return new connector instance. - * @throws ConnectionCheckedException - an error with the connection. - * @throws ConnectorCheckedException - an error initializing the connector. - */ - public Connector getConnector(Connection connection) throws ConnectionCheckedException, ConnectorCheckedException - { - ConnectorProvider connectorProvider = null; - Connector connectorInstance = null; - - if (log.isDebugEnabled()) - { - log.debug("==> ConnectorBroker.getConnector()"); - } - - if (connection == null) - { - /* - * It is not possible to create a connector without a connection. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTION; - String errorMessage = errorCode.getErrorMessageId() + errorCode.getFormattedErrorMessage(); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - - /* - * Within the connection is a structure called the connector type. This defines the factory for a new - * connector instance. This factory is called the Connector Provider. - */ - ConnectorType requestedConnectorType = connection.getConnectorType(); - - if (requestedConnectorType == null) - { - /* - * It is not possible to create a connector without a connector type since it - * holds the name of the connector provider's Java class. Build an exception. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTOR_TYPE; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - - /* - * The connection has a valid connector type so the next step is to extract the class name for the - * connector provider. This is the specialized factory for the connector. - */ - String connectorProviderClassName = requestedConnectorType.getConnectorProviderClassName(); - - if (connectorProviderClassName == null) - { - /* - * The connector provider class name is blank so it is not possible to create the - * connector provider. Throw an exception. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTOR_PROVIDER; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - - /* - * Extract the class for the connector provider and then create a connector provider object. - * These actions may reveal that the class is not known to local JVM (ClassNotFound) or - * the class is there but its dependencies are not (LinkageError) or it is there and loads - * but it is not a connector provider (ClassCastException). Each of these error conditions - * results in a connection error exception that hopefully guides the consumer to correct - * the config and/or setup error. - */ - try - { - Class connectorProviderClass = Class.forName(connectorProviderClassName); - Object potentialConnectorProvider = connectorProviderClass.newInstance(); - - connectorProvider = (ConnectorProvider)potentialConnectorProvider; - } - catch (ClassNotFoundException classException) - { - /* - * Wrap exception in the ConnectionCheckedException with a suitable message - */ - OCFErrorCode errorCode = OCFErrorCode.UNKNOWN_CONNECTOR_PROVIDER; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorProviderClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - classException); - } - catch (LinkageError linkageError) - { - /* - * Wrap linkage error in an exception - */ - OCFErrorCode errorCode = OCFErrorCode.INCOMPLETE_CONNECTOR_PROVIDER; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorProviderClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - linkageError); - } - catch (ClassCastException castException) - { - /* - * Wrap class cast exception in a connection exception with error message to say that - */ - OCFErrorCode errorCode = OCFErrorCode.NOT_CONNECTOR_PROVIDER; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorProviderClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - castException); - } - catch (Throwable unexpectedSomething) - { - /* - * Wrap throwable in a connection exception with error message to say that there was a problem with - * the connector provider. - */ - OCFErrorCode errorCode = OCFErrorCode.INVALID_CONNECTOR_PROVIDER; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorProviderClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - unexpectedSomething); - } - - - /* - * At this point we hopefully have a valid connector provider so all that is left to do is call - * it to get the connector instance. This is done in a different try ... catch block from the - * instantiation of the connector provider so we can separate errors in the Connection from - * errors generated in the Connector Provider, since both classes are - * potentially code from a source outside of Apache Atlas. - */ - try - { - connectorInstance = connectorProvider.getConnector(connection); - } - catch (ConnectionCheckedException connectionError) - { - /* - * The connector provider has already provided first failure data capture in a ConnectionCheckedException. - * This exception is rethrown to the caller. - */ - throw connectionError; - } - catch (ConnectorCheckedException connectorError) - { - /* - * The connector provider has already provided first failure data capture in a ConnectorCheckedException. - * This exception is rethrown to the caller. - */ - throw connectorError; - } - catch (Throwable unexpectedSomething) - { - /* - * The connector provider threw an unexpected runtime exception or error. This is wrapped in a - * ConnectorError and thrown to caller. - */ - OCFErrorCode errorCode = OCFErrorCode.CAUGHT_EXCEPTION; - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(); - - throw new ConnectorCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - unexpectedSomething); - } - - - /* - * If the connector provider has returned a null connector with no exception then raise a generic exception - * since something has gone wrong. - */ - if (connectorInstance == null) - { - /* - * Build and throw exception. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTOR; - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connection.getConnectionName()); - - throw new OCFRuntimeException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - /* - * If we reach this point the connector provider has returned a connector that can be passed to the caller. - */ - - if (log.isDebugEnabled()) - { - log.debug("New connector returned: " + connectorInstance.getConnectorInstanceId()); - log.debug("Using Connection: " + connectorInstance.getConnection().getQualifiedName() + "(" + connectorInstance.getConnection().getDisplayName() + ")"); - log.debug("<== ConnectorBroker.getConnector()"); - } - - return connectorInstance; - } - - - /** - * Provide an implementation of hashCode for all OCF Connector Broker objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to describe the hash code of the connector - * broker object. - */ - public int hashCode() - { - return hashCode; - } - - - /** - * Provide a common implementation of equals for all OCF Connector Broker objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to evaluate the equality of the connector - * broker object. - * - * @param object - object to test - * @return boolean flag - */ - @Override - public boolean equals(Object object) - { - if (this == object) - { - return true; - } - if (object == null || getClass() != object.getClass()) - { - return false; - } - - ConnectorBroker that = (ConnectorBroker) object; - - return hashCode == that.hashCode; - } - - - /** - * Standard toString method. - * - * @return print out of variables in a JSON-style - */ - @Override - public String toString() - { - return "ConnectorBroker{" + - "hashCode=" + hashCode + - '}'; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java b/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java deleted file mode 100644 index 020b79c..0000000 --- a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.atlas.ocf; - -import org.apache.atlas.ocf.ffdc.ConnectionCheckedException; -import org.apache.atlas.ocf.ffdc.ConnectorCheckedException; -import org.apache.atlas.ocf.properties.Connection; - -/** - * The ConnectorProvider is a formal plug-in interface for the Open Connector Framework (OCF). It provides a factory - * class for a specific type of connector. Therefore is it typical to find the ConnectorProvider and Connector - * implementation written as a pair. - * - * The ConnectorProvider uses the properties stored in a Connection object to initialize itself and its Connector instances. - * the Connection object has the endpoint properties for the server that the connector must communicate with - * as well as optional additional properties that may be needed for a particular type of connector. - * - * It is suggested that the ConnectorProvider validates the contents of the connection and throws - * ConnectionErrorExceptions if the connection has missing or invalid properties. If there are errors detected in the - * instantiations or initialization of the connector, then these should be thrown as ConnectorErrorExceptions. - */ -public abstract class ConnectorProvider -{ - /** - * Creates a new instance of a connector based on the information in the supplied connection. - * - * @param connection - connection that should have all of the properties needed by the Connector Provider - * to create a connector instance. - * @return Connector - instance of the connector. - * @throws ConnectionCheckedException - if there are missing or invalid properties in the connection - * @throws ConnectorCheckedException - if there are issues instantiating or initializing the connector - */ - public abstract Connector getConnector(Connection connection) throws ConnectionCheckedException, ConnectorCheckedException; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java ---------------------------------------------------------------------- diff --git a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java b/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java deleted file mode 100644 index 4e0762a..0000000 --- a/om-fwk-ocf/src/main/java/org/apache/atlas/ocf/ConnectorProviderBase.java +++ /dev/null @@ -1,323 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.atlas.ocf; - -import org.apache.atlas.ocf.properties.Connection; - -import org.apache.atlas.ocf.ffdc.ConnectionCheckedException; -import org.apache.atlas.ocf.ffdc.ConnectorCheckedException; -import org.apache.atlas.ocf.ffdc.OCFErrorCode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.UUID; - -/** - * ConnectorProviderBase is a base class for a new connector provider. It manages all of the class loading - * for subclass implementations of the connector provider along with the generation of new connector guids. - * - * ConnectorProviderBase creates a connector instance with the class name from the private variable called - * connectorClassName. This class name is initialized to null. If the getConnector method is called when - * the connectorClassName is null, it throws ConnectorCheckedException. - * This is its default behaviour. - * - * To use the ConnectorProviderBase, create a new class that extends the ConnectorProviderBase class - * and in the constructor call super.setConnectorClassName("your connector's class name"); - */ -public abstract class ConnectorProviderBase extends ConnectorProvider -{ - private String connectorClassName = null; - - private final int hashCode = UUID.randomUUID().hashCode(); - - private static final Logger log = LoggerFactory.getLogger(ConnectorProviderBase.class); - - /** - * Typical constructor - */ - public ConnectorProviderBase () - { - /* - * Nothing to do - */ - } - - - /** - * Each connector has a guid to make it easier to correlate log messages from the various components that - * serve it. It uses a type 4 (pseudo randomly generated) UUID. - * The UUID is generated using a cryptographically strong pseudo random number generator. - * - * @return guid for a new connector instance - */ - protected String getNewConnectorGUID() - { - UUID newUUID = UUID.randomUUID(); - - return newUUID.toString(); - } - - - /** - * Return the class name for the connector that the connector provider generates. - * - * @return connectorClassName - will be null initially. - */ - public String getConnectorClassName() - { - return connectorClassName; - } - - - /** - * Update the class name for this connector provider. - * - * @param newConnectorClassName - this must be a valid Java class name for a class that implements the - * org.apache.atlas.ocf.Connector interface. - */ - public void setConnectorClassName(String newConnectorClassName) - { - if (log.isDebugEnabled()) - { - log.debug("Connector class name set: " + newConnectorClassName); - } - - connectorClassName = newConnectorClassName; - } - - - /** - * Creates a new instance of a connector based on the information in the supplied connection. - * - * @param connection - connection that should have all of the properties needed by the Connector Provider - * to create a connector instance. - * @return Connector - instance of the connector. - * @throws ConnectionCheckedException - if there are missing or invalid properties in the connection - * @throws ConnectorCheckedException - if there are issues instantiating or initializing the connector - */ - public Connector getConnector(Connection connection) throws ConnectionCheckedException, ConnectorCheckedException - { - Connector connector = null; - String guid = null; - - if (log.isDebugEnabled()) - { - log.debug("getConnector called"); - } - - if (connection == null) - { - /* - * It is not possible to create a connector without a connection. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTION; - String errorMessage = errorCode.getErrorMessageId() + errorCode.getFormattedErrorMessage(); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - - /* - * Validate that a subclass (or external class) has set up the class name of the connector. - */ - if (connectorClassName == null) - { - /* - * This instance of the connector provider is not initialised with the connector's class name so - * throw an exception because a connector can not be generated. - */ - OCFErrorCode errorCode = OCFErrorCode.NULL_CONNECTOR_CLASS; - String errorMessage = errorCode.getErrorMessageId() + errorCode.getFormattedErrorMessage(); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - - - /* - * Generate a new GUID for the connector. - */ - guid = getNewConnectorGUID(); - - - /* - * Create a new instance of the connector and initialize it with the guid and connection. - */ - try - { - Class connectorClass = Class.forName(connectorClassName); - Object potentialConnector = connectorClass.newInstance(); - - connector = (Connector)potentialConnector; - connector.initialize(guid, connection); - } - catch (ClassNotFoundException classException) - { - /* - * Wrap exception in the ConnectionCheckedException with a suitable message - */ - OCFErrorCode errorCode = OCFErrorCode.UNKNOWN_CONNECTOR; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - classException); - } - catch (LinkageError linkageError) - { - /* - * Wrap linkage error in an exception - */ - OCFErrorCode errorCode = OCFErrorCode.INCOMPLETE_CONNECTOR; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - linkageError); - } - catch (ClassCastException castException) - { - /* - * Wrap class cast exception in a connection exception with error message to say that - */ - OCFErrorCode errorCode = OCFErrorCode.NOT_CONNECTOR; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - castException); - } - catch (Throwable unexpectedSomething) - { - /* - * Wrap throwable in a connection exception with error message to say that there was a problem with - * the connector implementation. - */ - OCFErrorCode errorCode = OCFErrorCode.INVALID_CONNECTOR; - String connectionName = connection.getConnectionName(); - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(connectorClassName, connectionName); - - throw new ConnectionCheckedException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - "getConnector", - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction(), - unexpectedSomething); - } - - - /* - * Return the initialized connector ready for use. - */ - - if (log.isDebugEnabled()) - { - log.debug("getConnector returns: " + connector.getConnectorInstanceId() + ", " + connection.getConnectionName()); - } - - return connector; - } - - - /** - * Provide a common implementation of hashCode for all OCF Connector Provider objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to describe the hash code of the properties - * object. - * - * @return random UUID as hashcode - */ - public int hashCode() - { - return hashCode; - } - - - /** - * Provide a common implementation of equals for all OCF Connector Provider objects. The UUID is unique and - * is randomly assigned and so its hashCode is as good as anything to evaluate the equality of the connector - * provider object. - * - * @param object - object to test - * @return boolean flag - */ - @Override - public boolean equals(Object object) - { - if (this == object) - { - return true; - } - if (object == null || getClass() != object.getClass()) - { - return false; - } - - ConnectorProviderBase that = (ConnectorProviderBase) object; - - if (hashCode != that.hashCode) - { - return false; - } - - return connectorClassName != null ? connectorClassName.equals(that.connectorClassName) : that.connectorClassName == null; - } - - - /** - * Standard toString method. - * - * @return print out of variables in a JSON-style - */ - @Override - public String toString() - { - return "ConnectorProviderBase{" + - "connectorClassName='" + connectorClassName + '\'' + - ", hashCode=" + hashCode + - '}'; - } -} \ No newline at end of file