You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/05/25 20:08:18 UTC
[25/51] [partial] atlas git commit: ATLAS-2722: moved unused code
from branch-1.0
http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omrs/src/main/java/org/apache/atlas/omrs/archivemanager/opentypes/OpenMetadataTypesArchive.java
----------------------------------------------------------------------
diff --git a/omrs/src/main/java/org/apache/atlas/omrs/archivemanager/opentypes/OpenMetadataTypesArchive.java b/omrs/src/main/java/org/apache/atlas/omrs/archivemanager/opentypes/OpenMetadataTypesArchive.java
deleted file mode 100644
index 3fe4d34..0000000
--- a/omrs/src/main/java/org/apache/atlas/omrs/archivemanager/opentypes/OpenMetadataTypesArchive.java
+++ /dev/null
@@ -1,17114 +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.omrs.archivemanager.opentypes;
-
-
-import org.apache.atlas.omrs.archivemanager.OMRSArchiveBuilder;
-import org.apache.atlas.omrs.archivemanager.OMRSArchiveHelper;
-import org.apache.atlas.omrs.archivemanager.properties.OpenMetadataArchive;
-import org.apache.atlas.omrs.archivemanager.properties.OpenMetadataArchiveType;
-import org.apache.atlas.omrs.ffdc.OMRSErrorCode;
-import org.apache.atlas.omrs.ffdc.exception.OMRSLogicErrorException;
-import org.apache.atlas.omrs.metadatacollection.properties.typedefs.*;
-
-import java.util.ArrayList;
-import java.util.Date;
-
-/**
- * OpenMetadataTypesArchive builds an open metadata archive containing all of the standard open metadata types.
- * These types have hardcoded dates and guids so that however many times this archive is rebuilt, it will
- * produce the same content.
- * <p>
- * Details of the open metadata types are documented on the wiki:
- * <a href="https://cwiki.apache.org/confluence/display/ATLAS/Building+out+the+Open+Metadata+Typesystem">Building out the Open Metadata Typesystem</a>
- * </p>
- * <p>
- * There are 8 areas, each covering a different topic area of metadata. The module breaks down the process of creating
- * the models into the areas and then the individual models to simplify the maintenance of this class
- * </p>
- */
-public class OpenMetadataTypesArchive
-{
- /*
- * This is the header information for the archive.
- */
- private static final String archiveGUID = "bce3b0a0-662a-4f87-b8dc-844078a11a6e";
- private static final String archiveName = "Open Metadata Types";
- private static final String archiveDescription = "Standard types for open metadata repositories.";
- private static final OpenMetadataArchiveType archiveType = OpenMetadataArchiveType.CONTENT_PACK;
- private static final String originatorName = "Apache Atlas (OMRS)";
- private static final Date creationDate = new Date(1516313040008L);
-
- /*
- * Specific values for initializing TypeDefs
- */
- private static final long versionNumber = 1L;
- private static final String versionName = "1.0";
-
-
- private OMRSArchiveBuilder archiveBuilder;
- private OMRSArchiveHelper archiveHelper;
-
-
- /**
- * Default constructor sets up the archive builder. This in turn sets up the header for the archive.
- */
- public OpenMetadataTypesArchive()
- {
- this.archiveBuilder = new OMRSArchiveBuilder(archiveGUID,
- archiveName,
- archiveDescription,
- archiveType,
- originatorName,
- creationDate,
- null);
-
- this.archiveHelper = new OMRSArchiveHelper(archiveBuilder,
- archiveGUID,
- originatorName,
- creationDate,
- versionNumber,
- versionName);
- }
-
-
- /**
- * Return the unique identifier for this archive.
- *
- * @return String guid
- */
- public String getArchiveGUID()
- {
- return archiveGUID;
- }
-
- /**
- * Returns the open metadata type archive containing all of the standard open metadata types.
- *
- * @return populated open metadata archive object
- */
- public OpenMetadataArchive getOpenMetadataArchive()
- {
- final String methodName = "getOpenMetadataArchive()";
-
- if (this.archiveBuilder != null)
- {
- /*
- * Call each of the methods to systematically add the contents of the archive.
- */
- this.addStandardPrimitiveDefs();
- this.addStandardCollectionDefs();
- this.addArea0Types();
- this.addArea1Types();
- this.addArea2Types();
- this.addArea3Types();
- this.addArea4Types();
- this.addArea5Types();
- this.addArea6Types();
- this.addArea7Types();
-
- /*
- * The completed archive is ready to be packaged up and returned
- */
- return this.archiveBuilder.getOpenMetadataArchive();
- }
- else
- {
- /*
- * This is a logic error since it means the creation of the archive builder threw an exception
- * in the constructor and so this object should not be used.
- */
- OMRSErrorCode errorCode = OMRSErrorCode.ARCHIVE_UNAVAILABLE;
- String errorMessage = errorCode.getErrorMessageId() + errorCode.getFormattedErrorMessage();
-
- throw new OMRSLogicErrorException(errorCode.getHTTPErrorCode(),
- this.getClass().getName(),
- methodName,
- errorMessage,
- errorCode.getSystemAction(),
- errorCode.getUserAction());
- }
- }
-
-
- /*
- * ========================================
- * Attribute types
- */
-
-
- /**
- * Add the standard primitive types to the archive builder.
- */
- private void addStandardPrimitiveDefs()
- {
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_UNKNOWN));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_BOOLEAN));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_BYTE));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_CHAR));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_SHORT));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_INT));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_LONG));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_FLOAT));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_DOUBLE));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_BIGINTEGER));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_BIGDECIMAL));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_STRING));
- this.archiveBuilder.addPrimitiveDef(archiveHelper.getPrimitiveDef(PrimitiveDefCategory.OM_PRIMITIVE_TYPE_DATE));
- }
-
-
- /**
- * Add the standard collection types to the archive builder.
- */
- private void addStandardCollectionDefs()
- {
- this.archiveBuilder.addCollectionDef(getMapStringStringCollectionDef());
- this.archiveBuilder.addCollectionDef(getArrayStringCollectionDef());
-
- }
-
-
- /**
- * Defines the "map<string,string>" type.
- *
- * @return CollectionDef for this type
- */
- private CollectionDef getMapStringStringCollectionDef()
- {
- final String guid = "005c7c14-ac84-4136-beed-959401b041f8";
- final String description = "A map from String to String.";
- final String descriptionGUID = null;
-
- return archiveHelper.getMapCollectionDef(guid,
- description,
- descriptionGUID,
- PrimitiveDefCategory.OM_PRIMITIVE_TYPE_STRING,
- PrimitiveDefCategory.OM_PRIMITIVE_TYPE_STRING);
- }
-
-
- /**
- * Define the "array<string>" type.
- *
- * @return CollectionDef for this object
- */
- private CollectionDef getArrayStringCollectionDef()
- {
- final String guid = "0428b5d3-f824-459c-b7f5-f8151de59707";
- final String description = "An array of Strings.";
- final String descriptionGUID = null;
-
- return archiveHelper.getArrayCollectionDef(guid,
- description,
- descriptionGUID,
- PrimitiveDefCategory.OM_PRIMITIVE_TYPE_STRING);
- }
-
-
-
-
- /*
- * ========================================
- * AREA 0 - common types and infrastructure
- */
-
- /**
- * Add the list of area 0 types
- */
- private void addArea0Types()
- {
- this.add0010BaseModel();
- this.add0015LinkedMediaTypes();
- this.add0017ExternalIdentifiers();
- this.add0020PropertyFacets();
- this.add0025Locations();
- this.add0030HostsAndPlatforms();
- this.add0035ComplexHosts();
- this.add0040SoftwareServers();
- this.add0045ServersAndAssets();
- this.add0070NetworksAndGateways();
- this.add0090CloudPlatformsAndServices();
- }
-
- /*
- * -------------------------------------------------------------------------------------------------------
- */
-
- /**
- * 0010 Base Model defines the core entities that have been inherited from the original Apache Atlas model.
- * It defines an initial set of asset types that need to be governed (more assets are defined in Area 2).
- */
- private void add0010BaseModel()
- {
- this.archiveBuilder.addEntityDef(getReferenceableEntity());
- this.archiveBuilder.addEntityDef(getAssetEntity());
- this.archiveBuilder.addEntityDef(getInfrastructureEntity());
- this.archiveBuilder.addEntityDef(getProcessEntity());
- this.archiveBuilder.addEntityDef(getDataSetEntity());
-
- this.archiveBuilder.addRelationshipDef(getProcessInputRelationship());
- this.archiveBuilder.addRelationshipDef(getProcessOutputRelationship());
- }
-
-
- /**
- * The Referenceable entity is the superclass of all of the governed open metadata entities. It specifies that
- * these entities have a unique identifier called "qualifiedName".
- *
- * @return Referenceable EntityDef
- */
- private EntityDef getReferenceableEntity()
- {
- /*
- * Build the Entity
- */
- final String guid = "a32316b8-dc8c-48c5-b12b-71c1b2a080bf";
- final String name = "Referenceable";
- final String description = "An open metadata entity that has a unique identifier.";
- final String descriptionGUID = null;
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- null,
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "qualifiedName";
- final String attribute1Description = "Unique identifier for the entity.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "additionalProperties";
- final String attribute2Description = "Additional properties for the element.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- property.setUnique(true);
- properties.add(property);
- property = archiveHelper.getMapStringStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- /**
- * The Asset entity is the root entity for the assets that open metadata and governance is governing.
- *
- * @return Asset EntityDef
- */
- private EntityDef getAssetEntity()
- {
- /*
- * Build the Entity
- */
- final String guid = "896d14c2-7522-4f6c-8519-757711943fe6";
- final String name = "Asset";
- final String description = "The description of an asset that needs to be catalogued and governed.";
- final String descriptionGUID = null;
- final String superTypeName = "Referenceable";
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "name";
- final String attribute1Description = "Display name for the asset.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "description";
- final String attribute2Description = "Description of the asset.";
- final String attribute2DescriptionGUID = null;
- final String attribute3Name = "owner";
- final String attribute3Description = "User name of the person or process that owns the asset.";
- final String attribute3DescriptionGUID = null;
-
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute3Name, attribute3Description, attribute3DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- /**
- * The Infrastructure entity describes an asset that is physical infrastructure or part of the software
- * platform that supports the data and process assets.
- *
- * @return Infrastructure EntityDef
- */
- private EntityDef getInfrastructureEntity()
- {
- /*
- * Build the Entity
- */
- final String guid = "c19746ac-b3ec-49ce-af4b-83348fc55e07";
- final String name = "Infrastructure";
- final String description = "Physical infrastructure or software platform.";
- final String descriptionGUID = null;
- final String superTypeName = "Asset";
-
- return archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
- }
-
-
- /**
- * The Process entity describes a well-defined sequence of activities performed by people or software components.
- *
- * @return Process EntityDef
- */
- private EntityDef getProcessEntity()
- {
- /*
- * Build the Entity
- */
- final String guid = "d8f33bd7-afa9-4a11-a8c7-07dcec83c050";
- final String name = "Process";
- final String description = "Well-defined sequence of activities performed by people or software components.";
- final String descriptionGUID = null;
- final String superTypeName = "Asset";
-
- return archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
- }
-
-
- /**
- * The DataSet entity describes a collection of related data.
- *
- * @return DataSet EntityDef
- */
- private EntityDef getDataSetEntity()
- {
- /*
- * Build the Entity
- */
- final String guid = "1449911c-4f44-4c22-abc0-7540154feefb";
- final String name = "DataSet";
- final String description = "Collection of related data.";
- final String descriptionGUID = null;
- final String superTypeName = "Asset";
-
- return archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
- }
-
-
- /**
- * The ProcessInput relationship describes the data set(s) that are passed into a process.
- *
- * @return ProcessInput RelationshipDef
- */
- private RelationshipDef getProcessInputRelationship()
- {
- /*
- * Build the relationship
- */
- final String guid = "9a6583c4-7419-4d5a-a6e5-26b0033fa349";
- final String name = "ProcessInput";
- final String description = "The DataSets passed into a Process.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.AGGREGATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Process";
- final String end1AttributeName = "consumedByProcess";
- final String end1AttributeDescription = "Processes that consume this DataSet.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "DataSet";
- final String end2AttributeName = "processInputData";
- final String end2AttributeDescription = "DataSets consumed by this Process.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
-
- return relationshipDef;
- }
-
-
- /**
- * The ProcessOutput relationship describes the data set(s) that are produced by a process.
- *
- * @return ProcessOutput RelationshipDef
- */
- private RelationshipDef getProcessOutputRelationship()
- {
- /*
- * Build the relationship
- */
- final String guid = "8920eada-9b05-4368-b511-b8506a4bef4b";
- final String name = "ProcessOutput";
- final String description = "The DataSets produced by a Process.";
- final String descriptionGUID = null;
- final RelationshipCategory relationshipCategory = RelationshipCategory.AGGREGATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Process";
- final String end1AttributeName = "producedByProcess";
- final String end1AttributeDescription = "Processes that produce this DataSet.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "DataSet";
- final String end2AttributeName = "processOutputData";
- final String end2AttributeDescription = "DataSets produced by this Process.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
-
- return relationshipDef;
- }
-
-
- /*
- * -------------------------------------------------------------------------------------------------------
- */
-
-
- /**
- * 0015 Linked Media Types describe different media (like images and documents) that enhance the description
- * of an entity. Media entities can be added to any Referenceable entities.
- */
- private void add0015LinkedMediaTypes()
- {
- this.archiveBuilder.addEnumDef(getMediaUsageTypeEnum());
-
- this.archiveBuilder.addEntityDef(getExternalReferenceEntity());
- this.archiveBuilder.addEntityDef(getRelatedMediaEntity());
- this.archiveBuilder.addEntityDef(getMediaUsageEntity());
-
-
- this.archiveBuilder.addRelationshipDef(getExternalReferenceLinkRelationship());
- this.archiveBuilder.addRelationshipDef(getMediaReferenceRelationship());
- this.archiveBuilder.addRelationshipDef(getMediaUsageGuidanceRelationship());
-
- }
-
-
- private EnumDef getMediaUsageTypeEnum()
- {
- final String guid = "c6861a72-7485-48c9-8040-876f6c342b61";
- final String name = "MediaUsageType";
- final String description = "Defines how a related media reference should be used.";
- final String descriptionGUID = null;
-
- EnumDef enumDef = archiveHelper.getEmptyEnumDef(guid, name, description, descriptionGUID);
-
- ArrayList<EnumElementDef> elementDefs = new ArrayList<>();
- EnumElementDef elementDef;
-
- final int element1Ordinal = 0;
- final String element1Value = "Icon";
- final String element1Description = "Provides a small image to represent the asset in tree views and graphs.";
- final String element1DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element1Ordinal, element1Value, element1Description, element1DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element2Ordinal = 1;
- final String element2Value = "Thumbnail";
- final String element2Description = "Provides a small image about the asset that can be used in lists.";
- final String element2DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element2Ordinal, element2Value, element2Description, element2DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element3Ordinal = 2;
- final String element3Value = "Illustration";
- final String element3Description = "Illustrates how the asset works or what it contains. It is complementary to the asset's description.";
- final String element3DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element3Ordinal, element3Value, element3Description, element3DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element4Ordinal = 3;
- final String element4Value = "UsageGuidance";
- final String element4Description = "Provides guidance to a person on how to use the asset.";
- final String element4DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element4Ordinal, element4Value, element4Description, element4DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element5Ordinal = 99;
- final String element5Value = "Other";
- final String element5Description = "Another usage.";
- final String element5DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element5Ordinal, element5Value, element5Description, element5DescriptionGUID);
- elementDefs.add(elementDef);
-
- enumDef.setElementDefs(elementDefs);
-
- return enumDef;
- }
-
-
- private EntityDef getExternalReferenceEntity()
- {
- final String guid = "af536f20-062b-48ef-9c31-1ddd05b04c56";
- final String name = "ExternalReference";
- final String description = "A link to more information.";
- final String descriptionGUID = null;
-
- final String superTypeName = "Referenceable";
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "displayName";
- final String attribute1Description = "Consumable name for reports and user interfaces.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "url";
- final String attribute2Description = "Location of the external reference.";
- final String attribute2DescriptionGUID = null;
- final String attribute3Name = "version";
- final String attribute3Description = "Version number of the external reference.";
- final String attribute3DescriptionGUID = null;
- final String attribute4Name = "description";
- final String attribute4Description = "Description of the external reference.";
- final String attribute4DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute3Name, attribute3Description, attribute3DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute4Name, attribute4Description, attribute4DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- private EntityDef getRelatedMediaEntity()
- {
- final String guid = "747f8b86-fe7c-4c9b-ba75-979e093cc307";
- final String name = "RelatedMedia";
- final String description = "Images, video or sound media.";
- final String descriptionGUID = null;
-
- final String superTypeName = "ExternalReference";
-
- return archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
- }
-
-
- private EntityDef getMediaUsageEntity()
- {
- final String guid = "b9599da3-ce7e-4981-b25e-86d03340da0b";
- final String name = "MediaUsage";
- final String description = "Guidance on a particular way a specific piece of media could be used.";
- final String descriptionGUID = null;
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- null,
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "mediaUsageType";
- final String attribute1Description = "Type of media usage.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "guidance";
- final String attribute2Description = "Advice on how the media should be used in this context.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getEnumTypeDefAttribute("MediaUsageType", attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- private RelationshipDef getExternalReferenceLinkRelationship()
- {
- final String guid = "7d818a67-ab45-481c-bc28-f6b1caf12f06";
- final String name = "ExternalReferenceLink";
- final String description = "Link to more information.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Referenceable";
- final String end1AttributeName = "relatedItem";
- final String end1AttributeDescription = "Item that is referencing this work.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "ExternalReference";
- final String end2AttributeName = "externalReference";
- final String end2AttributeDescription = "Link to more information from an external source.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "referenceId";
- final String attribute1Description = "Local identifier for the reference.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "description";
- final String attribute2Description = "Description of the relevance of this reference to the linked item.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- relationshipDef.setPropertiesDefinition(properties);
-
- return relationshipDef;
- }
-
-
- private RelationshipDef getMediaReferenceRelationship()
- {
- final String guid = "1353400f-b0ab-4ab9-ab09-3045dd8a7140";
- final String name = "MediaReference";
- final String description = "Link to related media such as images, videos and audio.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Referenceable";
- final String end1AttributeName = "consumingItem";
- final String end1AttributeDescription = "Item that is referencing this work.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "RelatedMedia";
- final String end2AttributeName = "relatedMedia";
- final String end2AttributeDescription = "Link to external media.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "mediaId";
- final String attribute1Description = "Local identifier for the media.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "description";
- final String attribute2Description = "Description of the relevance of this media to the linked item.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- relationshipDef.setPropertiesDefinition(properties);
-
- return relationshipDef;
- }
-
-
- private RelationshipDef getMediaUsageGuidanceRelationship()
- {
- final String guid = "952b5c8b-42fb-4ff2-a15f-a9eebb82d2ca";
- final String name = "MediaUsageGuidance";
- final String description = "Link to information on how a specific piece of media could be used.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.COMPOSITION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "RelatedMedia";
- final String end1AttributeName = "parentMedia";
- final String end1AttributeDescription = "Parent media that this guidance is for.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "MediaUsage";
- final String end2AttributeName = "usageRecommendation";
- final String end2AttributeDescription = "Link to guidance on how related media should be used.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- return relationshipDef;
- }
-
- /*
- * -------------------------------------------------------------------------------------------------------
- */
-
-
- /**
- * 0017 External Identifiers define identifiers used to identify this entity in other systems.
- */
- private void add0017ExternalIdentifiers()
- {
- this.archiveBuilder.addEnumDef(getKeyPatternEnum());
-
- this.archiveBuilder.addEntityDef(getExternalIdEntity());
-
- this.archiveBuilder.addRelationshipDef(getExternalIdScopeRelationship());
- this.archiveBuilder.addRelationshipDef(getExternalIdLinkRelationship());
- }
-
-
- private EnumDef getKeyPatternEnum()
- {
- final String guid = "8904df8f-1aca-4de8-9abd-1ef2aadba300";
- final String name = "KeyPattern";
- final String description = "Defines the type of identifier used for an asset.";
- final String descriptionGUID = null;
-
- EnumDef enumDef = archiveHelper.getEmptyEnumDef(guid, name, description, descriptionGUID);
-
- ArrayList<EnumElementDef> elementDefs = new ArrayList<>();
- EnumElementDef elementDef;
-
- final int element1Ordinal = 0;
- final String element1Value = "LocalKey";
- final String element1Description = "Unique key allocated and used within the scope of a single system.";
- final String element1DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element1Ordinal, element1Value, element1Description, element1DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element2Ordinal = 1;
- final String element2Value = "RecycledKey";
- final String element2Description = "Key allocated and used within the scope of a single system that is periodically reused for different records.";
- final String element2DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element2Ordinal, element2Value, element2Description, element2DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element3Ordinal = 2;
- final String element3Value = "NaturalKey";
- final String element3Description = "Key derived from an attribute of the entity, such as email address, passport number.";
- final String element3DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element3Ordinal, element3Value, element3Description, element3DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element4Ordinal = 3;
- final String element4Value = "MirrorKey";
- final String element4Description = "Key value copied from another system.";
- final String element4DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element4Ordinal, element4Value, element4Description, element4DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element5Ordinal = 4;
- final String element5Value = "AggregateKey";
- final String element5Description = "Key formed by combining keys from multiple systems.";
- final String element5DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element5Ordinal, element5Value, element5Description, element5DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element6Ordinal = 5;
- final String element6Value = "CallersKey";
- final String element6Description = "Key from another system can bey used if system name provided.";
- final String element6DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element6Ordinal, element6Value, element6Description, element6DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element7Ordinal = 6;
- final String element7Value = "StableKey";
- final String element7Description = "Key value will remain active even if records are merged.";
- final String element7DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element7Ordinal, element7Value, element7Description, element7DescriptionGUID);
- elementDefs.add(elementDef);
-
- final int element8Ordinal = 99;
- final String element8Value = "Other";
- final String element8Description = "Another key pattern.";
- final String element8DescriptionGUID = null;
-
- elementDef = archiveHelper.getEnumElementDef(element8Ordinal, element8Value, element8Description, element8DescriptionGUID);
- elementDefs.add(elementDef);
-
- enumDef.setElementDefs(elementDefs);
-
- return enumDef;
- }
-
-
- private EntityDef getExternalIdEntity()
- {
- final String guid = "7c8f8c2c-cc48-429e-8a21-a1f1851ccdb0";
- final String name = "ExternalId";
- final String description = "Alternative identifier used in another system.";
- final String descriptionGUID = null;
-
- final String superTypeName = "Referenceable";
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "identifier";
- final String attribute1Description = "Identifier used in an external system.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "keyPattern";
- final String attribute2Description = "Management pattern associated with the identifier.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getEnumTypeDefAttribute("KeyPattern", attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- private RelationshipDef getExternalIdScopeRelationship()
- {
- final String guid = "8c5b1415-2d1f-4190-ba6c-1fdd47f03269";
- final String name = "ExternalIdScope";
- final String description = "Places where an external identifier is recognized.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Referenceable";
- final String end1AttributeName = "scopedTo";
- final String end1AttributeDescription = "Identifies where this external identifier is known.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "ExternalId";
- final String end2AttributeName = "managedResources";
- final String end2AttributeDescription = "Link to details of a resource that this component manages.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "description";
- final String attribute1Description = "Description of the relationship between the resources and the managing component.";
- final String attribute1DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
-
-
- relationshipDef.setPropertiesDefinition(properties);
-
- return relationshipDef;
- }
-
-
- private RelationshipDef getExternalIdLinkRelationship()
- {
- final String guid = "28ab0381-c662-4b6d-b787-5d77208de126";
- final String name = "ExternalIdLink";
- final String description = "Link between an external identifier and an asset or related item.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Referenceable";
- final String end1AttributeName = "resource";
- final String end1AttributeDescription = "Resource being identified.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "ExternalId";
- final String end2AttributeName = "alsoKnownAs";
- final String end2AttributeDescription = "Identifier used in an external system.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "description";
- final String attribute1Description = "Description of how the external identifier relates to the resource.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "usage";
- final String attribute2Description = "Description of how the external identifier can be used.";
- final String attribute2DescriptionGUID = null;
- final String attribute3Name = "source";
- final String attribute3Description = "Details of where the external identifier was sourced from.";
- final String attribute3DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute3Name, attribute3Description, attribute3DescriptionGUID);
- properties.add(property);
-
- relationshipDef.setPropertiesDefinition(properties);
-
- return relationshipDef;
- }
-
-
- /*
- * -------------------------------------------------------------------------------------------------------
- */
-
-
- /**
- * 0020 Property Facets define blocks of properties that are unique to a particular vendor or service.
- */
- private void add0020PropertyFacets()
- {
- this.archiveBuilder.addEntityDef(getPropertyFacetEntity());
-
- this.archiveBuilder.addRelationshipDef(getReferenceableFacetRelationship());
- }
-
-
- private EntityDef getPropertyFacetEntity()
- {
- final String guid = "6403a704-aad6-41c2-8e08-b9525c006f85";
- final String name = "PropertyFacet";
- final String description = "Additional properties that support a particular vendor or service.";
- final String descriptionGUID = null;
-
- final String superTypeName = "Referenceable";
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "version";
- final String attribute1Description = "Version of the property facet schema.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "description";
- final String attribute2Description = "Description of the property facet contents.";
- final String attribute2DescriptionGUID = null;
- final String attribute3Name = "properties";
- final String attribute3Description = "Properties for the property facet.";
- final String attribute3DescriptionGUID = null;
-
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getMapStringStringTypeDefAttribute(attribute3Name, attribute3Description, attribute3DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- private RelationshipDef getReferenceableFacetRelationship()
- {
- final String guid = "58c87647-ada9-4c90-a3c3-a40ace46b1f7";
- final String name = "ReferenceableFacet";
- final String description = "Link between a property facet and the resource it relates to.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.COMPOSITION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Referenceable";
- final String end1AttributeName = "relatedEntity";
- final String end1AttributeDescription = "Identifies which element this property facet belongs to.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "PropertyFacet";
- final String end2AttributeName = "facets";
- final String end2AttributeDescription = "Additional properties from different sources.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "source";
- final String attribute1Description = "Source of this property facet.";
- final String attribute1DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
-
- relationshipDef.setPropertiesDefinition(properties);
-
- return relationshipDef;
- }
-
- /*
- * -------------------------------------------------------------------------------------------------------
- */
-
-
- /**
- * 0025 Locations define entities that describe physical, logical and cyber locations for Assets.
- */
- private void add0025Locations()
- {
- this.archiveBuilder.addEntityDef(getLocationEntity());
-
- this.archiveBuilder.addRelationshipDef(getNestedLocationRelationship());
- this.archiveBuilder.addRelationshipDef(getAdjacentLocationRelationship());
- this.archiveBuilder.addRelationshipDef(getAssetLocationRelationship());
-
- this.archiveBuilder.addClassificationDef(getMobileAssetClassification());
- this.archiveBuilder.addClassificationDef(getFixedLocationClassification());
- this.archiveBuilder.addClassificationDef(getSecureLocationClassification());
- this.archiveBuilder.addClassificationDef(getCyberLocationClassification());
- }
-
-
- private EntityDef getLocationEntity()
- {
- final String guid = "3e09cb2b-5f15-4fd2-b004-fe0146ad8628";
- final String name = "Location";
- final String description = "A physical place, digital location or area.";
- final String descriptionGUID = null;
-
- final String superTypeName = "Referenceable";
-
- EntityDef entityDef = archiveHelper.getDefaultEntityDef(guid,
- name,
- this.archiveBuilder.getEntityDef(superTypeName),
- description,
- descriptionGUID);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "displayName";
- final String attribute1Description = "Consumable name for reports and user interfaces.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "description";
- final String attribute2Description = "Description of the location.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- entityDef.setPropertiesDefinition(properties);
-
- return entityDef;
- }
-
-
- private RelationshipDef getNestedLocationRelationship()
- {
- final String guid = "f82a96c2-95a3-4223-88c0-9cbf2882b772";
- final String name = "NestedLocation";
- final String description = "Link between two locations to show one is nested inside another.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.AGGREGATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Location";
- final String end1AttributeName = "groupingLocation";
- final String end1AttributeDescription = "Location that is covering the broader area.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "Location";
- final String end2AttributeName = "nestedLocation";
- final String end2AttributeDescription = "Location that is nested in this location.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- return relationshipDef;
- }
-
-
- private RelationshipDef getAdjacentLocationRelationship()
- {
- final String guid = "017d0518-fc25-4e5e-985e-491d91e61e17";
- final String name = "AdjacentLocation";
- final String description = "Link between two locations that are next to one another.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Location";
- final String end1AttributeName = "peerLocation";
- final String end1AttributeDescription = "Location that is adjacent to this location.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "Location";
- final String end2AttributeName = "peerLocation";
- final String end2AttributeDescription = "Location that is adjacent to this location.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- return relationshipDef;
- }
-
-
- private RelationshipDef getAssetLocationRelationship()
- {
- final String guid = "bc236b62-d0e6-4c5c-93a1-3a35c3dba7b1";
- final String name = "AssetLocation";
- final String description = "Location of an Asset.";
- final String descriptionGUID = null;
-
- final RelationshipCategory relationshipCategory = RelationshipCategory.ASSOCIATION;
- final ClassificationPropagationRule classificationPropagationRule = ClassificationPropagationRule.NONE;
-
- RelationshipDef relationshipDef = archiveHelper.getBasicRelationshipDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- relationshipCategory,
- classificationPropagationRule);
-
- RelationshipEndDef relationshipEndDef;
-
- /*
- * Set up end 1.
- */
- final String end1EntityType = "Location";
- final String end1AttributeName = "knownLocations";
- final String end1AttributeDescription = "Places where this asset is sited.";
- final String end1AttributeDescriptionGUID = null;
- final AttributeCardinality end1Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end1EntityType),
- end1AttributeName,
- end1AttributeDescription,
- end1AttributeDescriptionGUID,
- end1Cardinality);
- relationshipDef.setEndDef1(relationshipEndDef);
-
-
- /*
- * Set up end 2.
- */
- final String end2EntityType = "Location";
- final String end2AttributeName = "localAssets";
- final String end2AttributeDescription = "Assets sited at this location.";
- final String end2AttributeDescriptionGUID = null;
- final AttributeCardinality end2Cardinality = AttributeCardinality.ANY_NUMBER_UNORDERED;
-
- relationshipEndDef = archiveHelper.getRelationshipEndDef(this.archiveBuilder.getEntityDef(end2EntityType),
- end2AttributeName,
- end2AttributeDescription,
- end2AttributeDescriptionGUID,
- end2Cardinality);
- relationshipDef.setEndDef2(relationshipEndDef);
-
- return relationshipDef;
- }
-
-
- private ClassificationDef getMobileAssetClassification()
- {
- final String guid = "b25fb90d-8fa2-4aa9-b884-ff0a6351a697";
- final String name = "MobileAsset";
- final String description = "An asset not restricted to a single physical location.";
- final String descriptionGUID = null;
-
- final String linkedToEntity = "Asset";
-
- return archiveHelper.getClassificationDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- this.archiveBuilder.getEntityDef(linkedToEntity),
- false);
- }
-
-
- private ClassificationDef getFixedLocationClassification()
- {
- final String guid = "bc111963-80c7-444f-9715-946c03142dd2";
- final String name = "FixedLocation";
- final String description = "A location linked to a physical place.";
- final String descriptionGUID = null;
-
- final String linkedToEntity = "Location";
-
- ClassificationDef classificationDef = archiveHelper.getClassificationDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- this.archiveBuilder.getEntityDef(linkedToEntity),
- false);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "coordinates";
- final String attribute1Description = "Geographical coordinates of this location.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "address";
- final String attribute2Description = "Postal address of this location.";
- final String attribute2DescriptionGUID = null;
- final String attribute3Name = "timezone";
- final String attribute3Description = "Timezone for the location.";
- final String attribute3DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute3Name, attribute3Description, attribute3DescriptionGUID);
- properties.add(property);
-
- classificationDef.setPropertiesDefinition(properties);
-
- return classificationDef;
- }
-
-
- private ClassificationDef getSecureLocationClassification()
- {
- final String guid = "e7b563c0-fcdd-4ba7-a046-eecf5c4638b8";
- final String name = "SecureLocation";
- final String description = "A location that protects the assets in its care.";
- final String descriptionGUID = null;
-
- final String linkedToEntity = "Location";
-
- ClassificationDef classificationDef = archiveHelper.getClassificationDef(guid,
- name,
- null,
- description,
- descriptionGUID,
- this.archiveBuilder.getEntityDef(linkedToEntity),
- false);
-
- /*
- * Build the attributes
- */
- ArrayList<TypeDefAttribute> properties = new ArrayList<>();
- TypeDefAttribute property;
-
- final String attribute1Name = "description";
- final String attribute1Description = "Description of the security at this location.";
- final String attribute1DescriptionGUID = null;
- final String attribute2Name = "level";
- final String attribute2Description = "Level of security at this location.";
- final String attribute2DescriptionGUID = null;
-
- property = archiveHelper.getStringTypeDefAttribute(attribute1Name, attribute1Description, attribute1DescriptionGUID);
- properties.add(property);
- property = archiveHelper.getStringTypeDefAttribute(attribute2Name, attribute2Description, attribute2DescriptionGUID);
- properties.add(property);
-
- classificationDef.setPropertiesDefinition(properties);
-
- return classificationDef;
- }
-
-
- private ClassificationDef getCyberLocationClassification()
- {
- final String guid = "f9ec3633-8ac8-480b-aa6d-5e674b9e1b17";
- final String name = "CyberLocation";
- final String description = "A digital
<TRUNCATED>