http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AnnotationStatus.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AnnotationStatus.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AnnotationStatus.java deleted file mode 100644 index 61b49b0..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AnnotationStatus.java +++ /dev/null @@ -1,98 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.io.Serializable; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * An AnnotationStatus defines the current status for an annotation plus some default descriptive text. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public enum AnnotationStatus implements Serializable -{ - NEW_ANNOTATION(0, "New", "Annotation has been created but not reviewed"), - REVIEWED_ANNOTATION(1, "Reviewed", "Annotation has been reviewed by no decision has been made"), - APPROVED_ANNOTATION(2, "Approved", "Annotation has been approved"), - ACTIONED_ANNOTATION(3, "Actioned", "Annotation has been approved and insight has been added to Asset's metadata"), - INVALID_ANNOTATION(4, "Invalid", "Annotation has been reviewed and declared invalid"), - IGNORE_ANNOTATION(5, "Ignore", "Annotation is invalid and should be ignored"), - OTHER_STATUS(98, "Other", "Annotation's status stored in additional properties"), - UNKNOWN_STATUS(99, "Unknown", "Annotation has not had a status assigned"); - - private static final long serialVersionUID = 1L; - - private int statusCode = 99; - private String statusName = ""; - private String statusDescription = ""; - - - /** - * Typical Constructor - */ - AnnotationStatus(int statusCode, String statusName, String statusDescription) - { - /* - * Save the values supplied - */ - this.statusCode = statusCode; - this.statusName = statusName; - this.statusDescription = statusDescription; - } - - - /** - * Return the status code for this enum instance - * - * @return int - status code - */ - public int getStatusCode() - { - return statusCode; - } - - - /** - * Return the default name for the status for this enum instance. - * - * @return String - default status name - */ - public String getStatusName() - { - return statusName; - } - - - /** - * REturn the default description for the status for this enum instance. - * - * @return String - default status description - */ - public String getStatusDescription() - { - return statusDescription; - } -} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDescriptor.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDescriptor.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDescriptor.java deleted file mode 100644 index 0927e3b..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDescriptor.java +++ /dev/null @@ -1,154 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * This is the base class for a connected asset. It is passed to all of the embedded property objects so the name - * and type can be used for error messages and other diagnostics. It also carries the URL of the - * metadata repository where this is known to enable properties to be retrieved on request. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class AssetDescriptor extends PropertyBase -{ - /* - * Derived name and type for use by nested property object for messages/debug. If these default values - * are seen it is a sign that the asset properties are not being populated from the metadata repository. - */ - private String assetName = "<Unknown>"; - private String assetTypeName = "<Unknown>"; - - /* - * URL where the metadata about the asset is located. It remains null if no repository is known. - */ - private String assetRepositoryURL = null; - - - /** - * Typical constructor - the asset descriptor is effectively empty - and the set methods need to be called to - * add useful content to it. - */ - public AssetDescriptor() - { - /* - * Nothing to do except call superclass - */ - super(); - } - - - /** - * Explicit constructor - the asset descriptor is explicitly given the name and type for the asset. This - * constructor is used to override the hard coded defaults. - * - * @param assetName - name of asset - * @param assetTypeName - name of asset type - * @param assetRepositoryURL - URL for the metadata repository - */ - public AssetDescriptor(String assetName, String assetTypeName, String assetRepositoryURL) - { - super(); - - this.assetName = assetName; - this.assetTypeName = assetTypeName; - this.assetRepositoryURL = assetRepositoryURL; - } - - - /** - * Copy/clone Constructor - used to copy the asset descriptor for a new consumer. - * - * @param templateAssetDescriptor - template asset descriptor to copy. - */ - public AssetDescriptor(AssetDescriptor templateAssetDescriptor) - { - super(); - - this.assetName = templateAssetDescriptor.getAssetName(); - this.assetTypeName = templateAssetDescriptor.getAssetTypeName(); - this.assetRepositoryURL = templateAssetDescriptor.getAssetRepositoryURL(); - } - - - /** - * Method to enable a subclass to set up the asset name. - * - * @param assetName - String - name of asset for messages etc - */ - protected void setAssetName(String assetName) - { - this.assetName = assetName; - } - - - /** - * Method to enable a subclass to set up the asset type name. - * - * @param assetTypeName - String - new type name - */ - protected void setAssetTypeName(String assetTypeName) - { - this.assetTypeName = assetTypeName; - } - - - /** - * Set up the URL of the metadata repository where the asset properties are held. - * - * @param assetRepositoryURL - String - URL - */ - protected void setAssetRepositoryURL(String assetRepositoryURL) { this.assetRepositoryURL = assetRepositoryURL; } - - - /** - * Return the name of the asset - for use in messages and other diagnostics. - * - * @return String - asset name - */ - public String getAssetName() - { - return assetName; - } - - - /** - * Return the name of the asset's type - for use in messages and other diagnostics. - * - * @return String - asset type name - */ - public String getAssetTypeName() - { - return assetTypeName; - } - - - /** - * Return the URL of the metadata repository where the asset properties are held. - * - * @return String - URL - */ - public String getAssetRepositoryURL() { return assetRepositoryURL; } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDetail.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDetail.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDetail.java deleted file mode 100644 index be0dacc..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetDetail.java +++ /dev/null @@ -1,356 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.util.ArrayList; -import java.util.List; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * AssetDetail extends AssetSummary to provide all of the properties related to this asset. It includes: - * <ul> - * <li>AssetProperties - properties unique to the particular type of asset including any vendor-specific facets.</li> - * <li>ExternalIdentifiers - list of identifiers for this asset that are used in other systems.</li> - * <li>RelatedMediaReferences - list of links to external media (images, audio, video) about this asset.</li> - * <li>NoteLogs - list of NoteLogs for this asset, often providing more detail on how to use the asset and - * its current status.</li> - * <li>ExternalReferences - list of links to additional information about this asset.</li> - * <li>Connections - list of connections defined to access this asset.</li> - * <li>Licenses - list of licenses associated with the asset.</li> - * <li>Certifications - list of certifications that have been awarded to this asset.</li> - * </ul> - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class AssetDetail extends AssetSummary -{ - private AdditionalProperties assetProperties = null; - private List<ExternalIdentifier> externalIdentifiers = null; - private List<RelatedMediaReference> relatedMediaReferences = null; - private List<NoteLog> noteLogs = null; - private List<ExternalReference> externalReferences = null; - private List<Connection> connections = null; - private List<License> licenses = null; - private List<Certification> certifications = null; - - - /** - * Typical constructor - initialize superclasses - */ - public AssetDetail() - { - super(); - } - - - /** - * Copy/clone constructor. Note, this is a deep copy - * - * @param templateAssetDetail - template to copy - */ - public AssetDetail(AssetDetail templateAssetDetail) - { - /* - * Initialize superclass - */ - super(templateAssetDetail); - - /* - * Copy details from template, ensuring the parentAsset is this object, not the template's. - */ - if (templateAssetDetail != null) - { - AdditionalProperties templateAssetProperties = templateAssetDetail.getAssetProperties(); - List<ExternalIdentifier> templateExternalIdentifiers = templateAssetDetail.getExternalIdentifiers(); - List<RelatedMediaReference> templateRelatedMediaReferences = templateAssetDetail.getRelatedMediaReferences(); - List<NoteLog> templateNoteLogs = templateAssetDetail.getNoteLogs(); - List<ExternalReference> templateExternalReferences = templateAssetDetail.getExternalReferences(); - List<Connection> templateConnections = templateAssetDetail.getConnections(); - List<License> templateLicenses = templateAssetDetail.getLicenses(); - List<Certification> templateCertifications = templateAssetDetail.getCertifications(); - - if (templateAssetProperties != null) - { - assetProperties = new AdditionalProperties(templateAssetProperties); - } - if (templateExternalIdentifiers != null) - { - externalIdentifiers = new ArrayList<>(templateExternalIdentifiers); - } - if (templateRelatedMediaReferences != null) - { - relatedMediaReferences = new ArrayList<>(templateRelatedMediaReferences); - } - if (templateNoteLogs != null) - { - noteLogs = new ArrayList<>(templateNoteLogs); - } - if (templateExternalReferences != null) - { - externalReferences = new ArrayList<>(templateExternalReferences); - } - if (templateConnections != null) - { - connections = new ArrayList<>(templateConnections); - } - if (templateLicenses != null) - { - licenses = new ArrayList<>(templateLicenses); - } - if (templateCertifications != null) - { - certifications = new ArrayList<>(templateCertifications); - } - } - } - - - /** - * Return the set of properties that are specific to the particular type of asset. The caller is given their - * own copy of the property object. The properties are named entityName.attributeName. The values are all strings. - * - * @return AdditionalProperties - asset properties using the name of attributes from the model. - */ - public AdditionalProperties getAssetProperties() - { - if (assetProperties == null) - { - return assetProperties; - } - else - { - return new AdditionalProperties(assetProperties); - } - } - - - /** - * Set up the asset properties for this asset. - * - * @param assetProperties - AdditionalProperties object - */ - public void setAssetProperties(AdditionalProperties assetProperties) - { - this.assetProperties = assetProperties; - } - - - /** - * Return an enumeration of the external identifiers for this asset (or null if none). - * - * @return ExternalIdentifiers list - */ - public List<ExternalIdentifier> getExternalIdentifiers() - { - if (externalIdentifiers == null) - { - return externalIdentifiers; - } - else - { - return new ArrayList<>(externalIdentifiers); - } - } - - - /** - * Set up the external identifiers for this asset. - * - * @param externalIdentifiers - ExternalIdentifiers list - */ - public void setExternalIdentifiers(List<ExternalIdentifier> externalIdentifiers) - { - this.externalIdentifiers = externalIdentifiers; - } - - - /** - * Return an enumeration of references to the related media associated with this asset. - * - * @return RelatedMediaReferences List - */ - public List<RelatedMediaReference> getRelatedMediaReferences() - { - if (relatedMediaReferences == null) - { - return relatedMediaReferences; - } - else - { - return new ArrayList<>(relatedMediaReferences); - } - } - - - /** - * Set up the enumeration of references to the related media associated with this asset. - * - * @param relatedMediaReferences - RelatedMediaReferences list - */ - public void setRelatedMediaReferences(List<RelatedMediaReference> relatedMediaReferences) - { - this.relatedMediaReferences = relatedMediaReferences; - } - - - /** - * Return an enumeration of NoteLogs linked to this asset. - * - * @return Notelogs list - */ - public List<NoteLog> getNoteLogs() - { - if (noteLogs == null) - { - return noteLogs; - } - else - { - return new ArrayList<>(noteLogs); - } - } - - - /** - * Set up the list of note logs for this asset. - * - * @param noteLogs - NoteLogs list - */ - public void setNoteLogs(List<NoteLog> noteLogs) - { - this.noteLogs = noteLogs; - } - - - /** - * Return the list of external references associated with this asset. - * - * @return ExternalReferences list - */ - public List<ExternalReference> getExternalReferences() - { - if (externalReferences == null) - { - return externalReferences; - } - else - { - return new ArrayList<>(externalReferences); - } - } - - - /** - * Set up the external references for this asset. - * - * @param externalReferences - ExternalReferences list - */ - public void setExternalReferences(List<ExternalReference> externalReferences) - { - this.externalReferences = externalReferences; - } - - - /** - * Return an enumeration of the connections defined for this asset. - * - * @return Connections enumeration - */ - public List<Connection> getConnections() - { - if (connections == null) - { - return connections; - } - else - { - return new ArrayList<>(connections); - } - } - - - /** - * Set up the list of connections defined for accessing this asset. - * - * @param connections - Connections list - */ - public void setConnections(ArrayList<Connection> connections) - { - this.connections = connections; - } - - - /** - * Return the list of licenses associated with the asset. - * - * @return Licenses - */ - public List<License> getLicenses() - { - if (licenses == null) - { - return licenses; - } - else - { - return new ArrayList<>(licenses); - } - } - - - /** - * Set up the licenses associated with this asset. - * - * @param licenses - List of licenses - */ - public void setLicenses(List<License> licenses) { this.licenses = licenses; } - - - /** - * Return the list of certifications awarded to the asset. - * - * @return Certifications - list of certifications - */ - public List<Certification> getCertifications() - { - if (certifications == null) - { - return certifications; - } - else - { - return new ArrayList<>(certifications); - } - } - - - /** - * Set up the list of certifications awarded to the asset. - * - * @param certifications - Certifications - list of certifications - */ - public void setCertifications(List<Certification> certifications) { this.certifications = certifications; } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetSummary.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetSummary.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetSummary.java deleted file mode 100644 index 4a69c02..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetSummary.java +++ /dev/null @@ -1,384 +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.omas.connectedasset.properties; - - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.util.ArrayList; -import java.util.List; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * AssetSummary is a POJO that holds asset properties that are used for displaying details of - * an asset in summary lists or hover text. It includes the following properties: - * <ul> - * <li>type - metadata type information for the asset properties</li> - * <li>guid - globally unique identifier for the asset</li> - * <li>url - external link for the asset</li> - * <li>qualifiedName - The official (unique) name for the asset. This is often defined by the IT systems - * management organization and should be used (when available) on audit logs and error messages. - * (qualifiedName from Referenceable - model 0010)</li> - * <li>displayName - A consumable name for the endpoint. Often a shortened form of the assetQualifiedName - * for use on user interfaces and messages. The assetDisplayName should be only be used for audit logs and error - * messages if the assetQualifiedName is not set. (Sourced from attribute name within Asset - model 0010)</li> - * <li>shortDescription - short description about the asset. - * (Sourced from assetSummary within ConnectionsToAsset - model 0205)</li> - * <li>description - full description of the asset. - * (Sourced from attribute description within Asset - model 0010)</li> - * <li>owner - name of the person or organization that owns the asset. - * (Sourced from attribute owner within Asset - model 0010)</li> - * <li>classifications - list of classifications assigned to the asset</li> - * </ul> - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class AssetSummary extends AssetDescriptor -{ - /* - * Official type definition for this asset - */ - private ElementType type = null; - - /* - * Standard header for any metadata entity - */ - private String guid = null; - private String url = null; - - /* - * Base attributes from Referenceable and Asset - */ - private String qualifiedName = null; - private String displayName = null; - private String shortDescription = null; - private String description = null; - private String owner = null; - - /* - * Attached classifications - */ - private List<Classification> classifications = null; - - - /** - * Typical Constructor - the AssetSummary is empty - */ - public AssetSummary() - { - /* - * Initialize super class - */ - super(); - } - - - /** - * Copy/clone constructor. Note, this is a deep copy - * - * @param templateAssetSummary - template values for asset summary - */ - public AssetSummary(AssetSummary templateAssetSummary) - { - /* - * Initialize super class - */ - super(templateAssetSummary); - - /* - * Copy relevant values from the template - */ - if (templateAssetSummary != null) - { - type = templateAssetSummary.getType(); - guid = templateAssetSummary.getGUID(); - url = templateAssetSummary.getURL(); - qualifiedName = templateAssetSummary.getQualifiedName(); - displayName = templateAssetSummary.getDisplayName(); - shortDescription = templateAssetSummary.getShortDescription(); - description = templateAssetSummary.getDescription(); - owner = templateAssetSummary.getOwner(); - - List<Classification> templateClassifications = templateAssetSummary.getClassifications(); - if (templateClassifications != null) - { - classifications = new ArrayList<>(templateClassifications); - } - - } - } - - - /** - * Return the element type properties for this asset. These values are set up by the metadata repository - * and define details to the metadata entity used to represent this element. - * - * @return ElementType - type information. - */ - public ElementType getType() - { - return type; - } - - - /** - * Set up the type properties for this element. - * - * @param type - details of the metadata type for this asset - */ - public void setType(ElementType type) - { - if (type == null) - { - this.type = new ElementType(); - } - else - { - this.type = type; - super.setAssetTypeName(type.getElementTypeName()); - } - } - - - /** - * Return the unique id for this element. - * - * @return guid - unique id - */ - public String getGUID() { - return guid; - } - - - /** - * Updates the guid property stored for the element. - * If a null is supplied it is saved as a null. - * - * @param newGUID - guid property - */ - public void setGUID(String newGUID) - { - if (newGUID != null) - { - guid = newGUID; - } - else - { - guid = ""; - } - } - - - /** - * Returns the URL for this element in the metadata repository. - * If no URL is known for the element then null is returned. - * - * @return element URL - */ - public String getURL() { - return url; - } - - - /** - * Updates the URL for the element used to access its properties in the metadata repository. - * If a null is supplied it is saved as a null. - * - * @param url - element URL - */ - public void setURL(String url) { - this.url = url; - } - - - /** - * Returns the stored qualified name property for the asset. - * If no qualified name is provided then null is returned. - * - * @return qualifiedName - */ - public String getQualifiedName() { - return qualifiedName; - } - - - /** - * Updates the qualified name property stored for the asset. - * If a null is supplied it is saved as a null. - * - * @param newQualifiedName - unique name - */ - public void setQualifiedName(String newQualifiedName) - { - if (newQualifiedName != null) - { - qualifiedName = newQualifiedName; - - /* - * Use the qualified name as the asset name if it is not the empty string. - */ - if (!qualifiedName.equals("")) - { - super.setAssetName(qualifiedName); - } - } - else - { - qualifiedName = ""; - } - } - - - /** - * Returns the stored display name property for the asset. - * If no display name is available then null is returned. - * - * @return displayName - */ - public String getDisplayName() - { - return displayName; - } - - - /** - * Updates the display name property stored for the asset. - * If a null is supplied it clears the display name. - * - * @param newDisplayName - consumable name - */ - public void setDisplayName(String newDisplayName) - { - displayName = newDisplayName; - - if (displayName != null && (!displayName.equals(""))) - { - /* - * Use the display name for the asset name if qualified name is not set up. - */ - if (qualifiedName == null || qualifiedName.equals("")) - { - super.setAssetName(displayName); - } - } - } - - - /** - * Returns the short description of the asset from relationship with Connection. - * - * @return shortDescription - */ - public String getShortDescription() - { - return shortDescription; - } - - - /** - * Sets the short description for the asset. - * - * @param assetShortDescription - short description from relationship with Connection - */ - public void setShortDescription(String assetShortDescription) - { - this.shortDescription = assetShortDescription; - } - - - /** - * Returns the stored description property for the asset. - * If no description is provided then null is returned. - * - * @return description - */ - public String getDescription() - { - return description; - } - - - /** - * Updates the description property stored for the asset. - * If a null is supplied it clears any saved description. - * - * @param newDescription - description - */ - public void setDescription(String newDescription) { description = newDescription; } - - - /** - * Returns the name of the owner for this asset. - * - * @return owner - */ - public String getOwner() { - return owner; - } - - - /** - * Updates the name of the owner for this asset. - * - * @param newOwner - owner name - */ - public void setOwner(String newOwner) { owner = newOwner; } - - - /** - * Return the list of classifications associated with the asset. This is an enumeration and the - * pointers are set to the start of the list of classifications - * - * @return Classifications - list of classifications - */ - public List<Classification> getClassifications() - { - if (classifications == null) - { - return classifications; - } - else - { - return new ArrayList<>(classifications); - } - } - - - /** - * Set up the list of classifications for this asset. - * - * @param classifications - list of classifications - */ - public void setClassifications(List<Classification> classifications) - { - if (classifications == null) - { - this.classifications = classifications; - } - else - { - this.classifications = new ArrayList<>(classifications); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetUniverse.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetUniverse.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetUniverse.java deleted file mode 100644 index 0042f1e..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/AssetUniverse.java +++ /dev/null @@ -1,332 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.util.ArrayList; -import java.util.List; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * AssetUniverse extends AssetDetail which extend AssetSummary. AssetUniverse adds information about the - * common open metadata entities related to this asset. - * <ul> - * <li>Meanings - glossary term(s) assigned to this asset.</li> - * <li>Schema - details of the schema associated with the asset.</li> - * <li>Analysis - details of the annotations added by the discovery services.</li> - * <li>Feedback - details of the people, products and feedback that are connected to the asset.</li> - * <li>Locations - details of the known locations of the asset.</li> - * <li>Lineage - details of the lineage for the asset.</li> - * <li>Related Assets - details of the assets lined to this asset.</li> - * </ul> - * - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class AssetUniverse extends AssetDetail -{ - private List<Meaning> meanings = null; - private SchemaElement schema = null; - private Analysis analysis = null; - private Feedback feedback = null; - private List<Location> knownLocations = null; - private Lineage lineage = null; - private List<RelatedAsset> relatedAssets = null; - - - /** - * Typical Constructor - */ - public AssetUniverse() - { - /* - * Initialize the super classes - */ - super(); - } - - - /** - * Copy/clone Constructor - note this is a deep copy - * - * @param templateAssetUniverse - template to copy - */ - public AssetUniverse(AssetUniverse templateAssetUniverse) - { - /* - * Initialize the super classes - */ - super(templateAssetUniverse); - - /* - * Set up the universe private variables. - */ - if (templateAssetUniverse != null) - { - /* - * Create the top-level property objects for this new asset using the values from the template. - * The get methods create clones of the returned objects so no need to duplicate objects here. - */ - List<Meaning> templateMeanings = templateAssetUniverse.getMeanings(); - SchemaElement templateSchema = templateAssetUniverse.getSchema(); - Analysis templateAnalysis = templateAssetUniverse.getAnalysis(); - Feedback templateFeedback = templateAssetUniverse.getFeedback(); - List<Location> templateLocations = templateAssetUniverse.getKnownLocations(); - Lineage templateLineage = templateAssetUniverse.getLineage(); - List<RelatedAsset> templateRelatedAssets = templateAssetUniverse.getRelatedAssets(); - - if (templateMeanings != null) - { - meanings = new ArrayList<>(templateMeanings); - } - if (templateSchema != null) - { - if (templateSchema.getType().equals("Schema")) - { - schema = new Schema((Schema) templateSchema); - } - else - { - schema = new PrimitiveSchemaElement((PrimitiveSchemaElement) templateSchema); - } - } - if (templateAnalysis != null) - { - analysis = new Analysis(templateAnalysis); - } - if (templateFeedback != null) - { - feedback = new Feedback(templateFeedback); - } - if (templateLocations != null) - { - knownLocations = new ArrayList<>(templateLocations); - } - if (templateLineage != null) - { - lineage = new Lineage(templateLineage); - } - if (templateRelatedAssets != null) - { - relatedAssets = new ArrayList<>(templateRelatedAssets); - } - } - } - - - /** - * Return the list of glossary definitions assigned directly to this asset. - * - * @return Meanings - list of glossary definitions. - */ - public List<Meaning> getMeanings() - { - if (meanings == null) - { - return meanings; - } - else - { - return new ArrayList<>(meanings); - } - } - - - /** - * Set up definitions assigned to the asset. - * - * @param meanings - Meanings - list of glossary definitions. - */ - public void setMeanings(List<Meaning> meanings) { this.meanings = meanings; } - - - /** - * Return details of the schema associated with the asset. - * - * @return SchemaElement - schema object to query the schema associated with the connected asset. - */ - public SchemaElement getSchema() - { - if (schema == null) - { - return schema; - } - else - { - return schema.cloneSchemaElement(); - } - } - - - /** - * Set up the schema object for this connected asset. This should contain the schema itself and - * the glossary definitions linked to the schema elements. - * - * @param schema - Schema object to query schema and related glossary definitions. - */ - public void setSchema(SchemaElement schema) { - this.schema = schema; - } - - - - /** - * Return details of the metadata discovery analysis for the asset. - * - * @return Analysis - analysis object to query the annotations - */ - public Analysis getAnalysis() - { - if (analysis == null) - { - return analysis; - } - else - { - return new Analysis(analysis); - } - } - - - /** - * Set up the analysis object for the connected asset. This should contain all of the annotations associated - * with the asset. - * - * @param analysis - Analysis object to query the annotations - */ - public void setAnalysis(Analysis analysis) - { - this.analysis = analysis; - } - - - /** - * Return details of the people, products and feedback that are connected to the asset. - * - * @return Feedback - feedback object to query the feedback on the asset. - */ - public Feedback getFeedback() - { - if (feedback == null) - { - return feedback; - } - else - { - return new Feedback(feedback); - } - } - - - /** - * Set up the feedback object for the connected asset. This should contain all of the feedback associated - * with the asset. - * - * @param feedback - Feedback object to query the feedback. - */ - public void setFeedback(Feedback feedback) { - this.feedback = feedback; - } - - - /** - * Set up the list of locations for the asset. - * - * @return Locations - list of locations. - */ - public List<Location> getKnownLocations() - { - if (knownLocations == null) - { - return knownLocations; - } - else - { - return new ArrayList<>(knownLocations); - } - } - - - /** - * Set up the list of locations for the assets. - * - * @param knownLocations - Locations list - */ - public void setKnownLocations(List<Location> knownLocations) { this.knownLocations = knownLocations; } - - - /** - * Return details of the lineage for the asset. - * - * @return Lineage - lineage object that allows queries about the lineage of the asset. - */ - public Lineage getLineage() - { - if (lineage == null) - { - return lineage; - } - else - { - return new Lineage(lineage); - } - } - - - /** - * Set up the lineage object for the asset. - * - * @param lineage - lineage object to query the origin of the asset. - */ - public void setLineage(Lineage lineage) { - this.lineage = lineage; - } - - - /** - * Return the list of assets related to this asset. - * - * @return RelatedAssets list - */ - public List<RelatedAsset> getRelatedAssets() - { - if (relatedAssets == null) - { - return relatedAssets; - } - else - { - return new ArrayList<>(relatedAssets); - } - } - - - /** - * Set up the related assets for this asset. - * - * @param relatedAssets - RelatedAssets list - */ - public void setRelatedAssets(List<RelatedAsset> relatedAssets) { this.relatedAssets = relatedAssets; } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Certification.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Certification.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Certification.java deleted file mode 100644 index 9e98c03..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Certification.java +++ /dev/null @@ -1,321 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.util.Date; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * <p> - * Certification stores the certifications awarded to the asset. - * </p> - * <p> - * Many regulations and industry bodies define certifications that can confirm a level of support, - * capability or competence in an aspect of a digital organizationâs operation. - * Having certifications may be necessary to operating legally or may be a business advantage. - * </p> - * <p> - * The certifications awarded to an asset can be captured in the metadata repository to enable both - * use and management of the certification process. - * </p> - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class Certification extends Referenceable -{ - /* - * Properties of a certification - */ - private String certificationTypeGUID = null; - private String certificationTypeName = null; - private String examiner = null; - private String summary = null; - private ExternalReference link = null; - private Date startDate = null; - private Date endDate = null; - private String certificationConditions = null; - private String createdBy = null; - private String custodian = null; - private String notes = null; - - - /** - * Default constructor. - */ - public Certification() - { - super(); - } - - - /** - * Copy/clone constructor. - * - * @param templateCertification - element to copy - */ - public Certification(Certification templateCertification) - { - super(templateCertification); - - if (templateCertification != null) - { - certificationTypeGUID = templateCertification.getCertificationTypeGUID(); - certificationTypeName = templateCertification.getCertificationTypeName(); - examiner = templateCertification.getExaminer(); - summary = templateCertification.getSummary(); - - ExternalReference templateLink = templateCertification.getLink(); - if (templateLink != null) - { - link = new ExternalReference(templateLink); - } - - Date templateStartDate = templateCertification.getStartDate(); - if (templateStartDate != null) - { - startDate = new Date(templateStartDate.getTime()); - } - - Date templateEndDate = templateCertification.getEndDate(); - if (templateEndDate != null) - { - endDate = new Date(templateStartDate.getTime()); - } - - certificationConditions = templateCertification.getCertificationConditions(); - createdBy = templateCertification.getCreatedBy(); - custodian = templateCertification.getCustodian(); - notes = templateCertification.getNotes(); - } - } - - - /** - * Return the unique id for the type of certification. - * - * @return String certification type GUID - */ - public String getCertificationTypeGUID() { return certificationTypeGUID; } - - - /** - * Set up the unique id of the certification type. - * - * @param certificationGUID - String certification type GUID - */ - public void setCertificationTypeGUID(String certificationGUID) { this.certificationTypeGUID = certificationGUID; } - - - /** - * Return the type of the certification. - * - * @return String certification type - */ - public String getCertificationTypeName() { return certificationTypeName; } - - - /** - * Set up the type of the certification. - * - * @param certificationTypeName - String certification type - */ - public void setCertificationTypeName(String certificationTypeName) { this.certificationTypeName = certificationTypeName; } - - - /** - * Get the name of the organization or person that issued the certification. - * - * @return String name - */ - public String getExaminer() { return examiner; } - - - /** - * Set up the name of the organization or person that issued the certification. - * - * @param examiner - String name - */ - public void setExaminer(String examiner) { this.examiner = examiner; } - - - /** - * Return a brief summary of the certification. - * - * @return String summary - */ - public String getSummary() { return summary; } - - - /** - * Set up a brief summary of the certification. - * - * @param summary - String - */ - public void setSummary(String summary) { this.summary = summary; } - - - /** - * Return the link to the full text of the certification. - * - * @return ExternalReference for full text - */ - public ExternalReference getLink() - { - if (link == null) - { - return link; - } - else - { - return new ExternalReference(link); - } - } - - - /** - * Set up the link to the full text of the certification. - * - * @param link - ExternalReference for full text - */ - public void setLink(ExternalReference link) { this.link = link; } - - - /** - * Return the start date for the certification. Null means unknown or not relevant. - * - * @return Date - */ - public Date getStartDate() - { - if (startDate == null) - { - return startDate; - } - else - { - return new Date(startDate.getTime()); - } - } - - - /** - * Set up start date for the certification. Null means unknown or not relevant. - * - * @param startDate - Date - */ - public void setStartDate(Date startDate) { this.startDate = startDate; } - - - /** - * Return the end date for the certification. Null means it does not expire. - * - * @return Date - */ - public Date getEndDate() - { - if (endDate == null) - { - return endDate; - } - else - { - return new Date(endDate.getTime()); - } - } - - - /** - * Set up the end date for the certification. Null means it does not expire. - * - * @param endDate - Date - */ - public void setEndDate(Date endDate) { this.endDate = endDate; } - - - /** - * Return any special conditions that apply to the certification - such as endorsements. - * - * @return String certification conditions - */ - public String getCertificationConditions() { return certificationConditions; } - - - /** - * Set up any special conditions that apply to the certification - such as endorsements. - * - * @param conditions - String certification conditions - */ - public void setCertificationConditions(String conditions) { this.certificationConditions = conditions; } - - - /** - * Return the name of the person or organization that set up the certification for this asset. - * - * @return String name - */ - public String getCreatedBy() { return createdBy; } - - - /** - * Set up the name of the person or organization that set up the certification for this asset. - * - * @param createdBy - String name - */ - public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } - - - /** - * Return the name of the person or organization that is responsible for the correct management of the asset - * according to the certification. - * - * @return String name - */ - public String getCustodian() { return custodian; } - - - /** - * Set up the name of the person or organization that is responsible for the correct management of the asset - * according to the certification. - * - * @param custodian - String name - */ - public void setCustodian(String custodian) { this.custodian = custodian; } - - - /** - * Return the notes from the custodian. - * - * @return String notes - */ - public String getNotes() { return notes; } - - - /** - * Set up the notes from the custodian. - * - * @param notes - String - */ - public void setNotes(String notes) { this.notes = notes; } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Classification.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Classification.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Classification.java deleted file mode 100644 index 5a41333..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Classification.java +++ /dev/null @@ -1,169 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; -import org.apache.atlas.omas.connectedasset.ffdc.ConnectedAssetErrorCode; -import org.apache.atlas.omas.connectedasset.ffdc.exceptions.ConnectedAssetRuntimeException; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * The Classification class stores information about a classification assigned to an asset. The Classification - * has a name and some properties. It also stores the typename of the asset it is connected to for debug purposes. - * - * Note: it is not valid to have a classification with a null or blank name. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class Classification extends PropertyBase -{ - private String classificationName; - private AdditionalProperties classificationProperties; - - /** - * A private validation method used by the constructors. - * - * @param name - name to check - * @return validated name - */ - private String validateName(String name) - { - final String methodName = "validateName"; - - /* - * Throw an exception if the classification's name is null because that does not make sense. - * The constructors do not catch this exception so it is received by the creator of the classification - * object. - */ - if (name == null || name.equals("")) - { - /* - * Build and throw exception. This should not happen - likely to be a problem in the - * repository connector. - */ - ConnectedAssetErrorCode errorCode = ConnectedAssetErrorCode.NULL_CLASSIFICATION_NAME; - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(methodName, this.getClass().getName()); - - throw new ConnectedAssetRuntimeException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - methodName, - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - else - { - return name; - } - } - - - /** - * Typical constructor - verifies and saves parameters. - * - * @param name - name of the classification - * @param properties - additional properties for the classification - */ - public Classification(String name, - AdditionalProperties properties) - { - super(); - - this.classificationName = validateName(name); - this.classificationProperties = properties; - } - - - /** - * Copy/clone Constructor - sets up new classification using values from the template - * - * @param templateClassification - object to copy - */ - public Classification(Classification templateClassification) - { - super(templateClassification); - - final String methodName = "Constructor"; - - /* - * An empty classification object is passed in the variable declaration so throw exception - * because we need the classification name. - */ - if (templateClassification == null) - { - /* - * Build and throw exception. This should not happen - likely to be a problem in the - * repository connector. - */ - ConnectedAssetErrorCode errorCode = ConnectedAssetErrorCode.NULL_CLASSIFICATION_NAME; - String errorMessage = errorCode.getErrorMessageId() - + errorCode.getFormattedErrorMessage(methodName, this.getClass().getName()); - - throw new ConnectedAssetRuntimeException(errorCode.getHTTPErrorCode(), - this.getClass().getName(), - methodName, - errorMessage, - errorCode.getSystemAction(), - errorCode.getUserAction()); - } - else - { - /* - * Save the name and properties. - */ - this.classificationName = validateName(templateClassification.getName()); - this.classificationProperties = templateClassification.getProperties(); - } - } - - - /** - * Return the name of the classification - * - * @return name of classification - */ - public String getName() - { - return classificationName; - } - - - /** - * Returns a collection of the additional stored properties for the classification. - * If no stored properties are present then null is returned. - * - * @return properties for the classification - */ - public AdditionalProperties getProperties() - { - if (classificationProperties == null) - { - return classificationProperties; - } - else - { - return new AdditionalProperties(classificationProperties); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Comment.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Comment.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Comment.java deleted file mode 100644 index 40c354c..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Comment.java +++ /dev/null @@ -1,186 +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.omas.connectedasset.properties; - - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.util.ArrayList; -import java.util.List; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * Stores information about a comment connected to an asset. Comments provide informal feedback to assets - * and can be added at any time. - * - * Comments have the userId of the person who added the feedback, along with their comment text. - * - * Comments can have other comments attached. - * - * The content of the comment is a personal statement (which is why the user's id is in the comment) - * and there is no formal review of the content. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class Comment extends ElementHeader -{ - /* - * Attributes of a Comment - */ - private String commentText = null; - private String user = null; - private List<Comment> commentReplies = null; - private CommentType commentType = null; - - - /** - * Default Constructor - */ - public Comment() - { - super(); - } - - - /** - * Copy/clone constructor. - * - * @param templateComment - element to copy - */ - public Comment(Comment templateComment) - { - super(templateComment); - - if (templateComment != null) - { - /* - * Copy the values from the supplied comment. - */ - user = templateComment.getUser(); - commentText = templateComment.getCommentText(); - - List<Comment> templateCommentReplies = templateComment.getCommentReplies(); - if (templateCommentReplies != null) - { - commentReplies = new ArrayList<>(templateCommentReplies); - } - } - } - - - /** - * Return the user id of the person who created the comment. Null means the user id is not known. - * - * @return String - commenting user - */ - public String getUser() { - return user; - } - - - /** - * Set up the user id of the person who created the comment. Null means the user id is not known. - * - * @param user - String - commenting user - */ - public void setUser(String user) { - this.user = user; - } - - - /** - * Return the comment text. - * - * @return String - commentText - */ - public String getCommentText() { - return commentText; - } - - - /** - * Set up the comment text. - * - * @param commentText String - */ - public void setCommentText(String commentText) { this.commentText = commentText; } - - - /** - * Return an enumeration of the replies to this comment - null means no replies are available. - * - * @return Comments - comment replies list - */ - public List<Comment> getCommentReplies() - { - if (commentReplies == null) - { - return commentReplies; - } - else - { - return new ArrayList<>(commentReplies); - } - } - - - /** - * Set up the comment replies enumeration - null means no replies are available. - * - * @param commentReplies - List of Comments - */ - public void setCommentReplies(List<Comment> commentReplies) - { - if (commentReplies == null) - { - this.commentReplies = null; - } - else - { - this.commentReplies = new ArrayList<>(commentReplies); - } - } - - - /** - * Return the type of comment. - * - * @return comment type enum - */ - public CommentType getCommentType() - { - return commentType; - } - - - /** - * Set up the type of comment. - * - * @param commentType - enum - */ - public void setCommentType(CommentType commentType) - { - this.commentType = commentType; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/CommentType.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/CommentType.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/CommentType.java deleted file mode 100644 index 675b2cc..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/CommentType.java +++ /dev/null @@ -1,96 +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.omas.connectedasset.properties; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import java.io.Serializable; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * The CommentType allows comments to be used to ask and answer questions as well as make suggestions and - * provide useful information to other users. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public enum CommentType implements Serializable -{ - STANDARD_COMMENT(0, "Comment", "General comment about the asset."), - QUESTION(1, "Question", "Asks a question to the people owning, managing or using the asset."), - ANSWER(2, "Answer", "Answers a question (posted as a reply to the question)."), - SUGGESTION(3, "Suggestion", "Provides a suggestion on how to improve the asset or its properties and description."), - USAGE_EXPERIENCE(4, "Experience", "Describes situations where this asset has been used and related hints and tips."); - - private static final long serialVersionUID = 1L; - - private int commentTypeCode; - private String commentType; - private String commentTypeDescription; - - - /** - * Typical Constructor - */ - CommentType(int commentTypeCode, String commentType, String commentTypeDescription) - { - /* - * Save the values supplied - */ - this.commentTypeCode = commentTypeCode; - this.commentType = commentType; - this.commentTypeDescription = commentTypeDescription; - } - - - /** - * Return the code for this enum instance - * - * @return int - comment type code - */ - public int getCommentTypeCode() - { - return commentTypeCode; - } - - - /** - * Return the default type name for this enum instance. - * - * @return String - default type name - */ - public String getCommentType() - { - return commentType; - } - - - /** - * Return the default description for the star rating for this enum instance. - * - * @return String - default description - */ - public String getCommentTypeDescription() - { - return commentTypeDescription; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/b0ecc36a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Connection.java ---------------------------------------------------------------------- diff --git a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Connection.java b/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Connection.java deleted file mode 100644 index 1bafb4b..0000000 --- a/omas-connectedasset/src/main/java/org/apache/atlas/omas/connectedasset/properties/Connection.java +++ /dev/null @@ -1,313 +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.omas.connectedasset.properties; - - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; -import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; - -/** - * The connection is an object that contains the properties needed to create and initialise a connector to access a - * specific data assets. - * - * The properties for a connection are defined in model 0201. They include the following options for connector name: - * <ul> - * <li> - * guid - Globally unique identifier for the connection. - * </li> - * <li> - * url - URL of the connection definition in the metadata repository. - * This URL can be stored as a property in another entity to create an explicit link to this connection. - * </li> - * <li> - * qualifiedName - The official (unique) name for the connection. - * This is often defined by the IT systems management organization and should be used (when available) on - * audit logs and error messages. The qualifiedName is defined in the 0010 model as part of Referenceable. - * </li> - * <li> - * displayName - A consumable name for the connection. Often a shortened form of the qualifiedName for use - * on user interfaces and messages. The displayName should be only be used for audit logs and error messages - * if the qualifiedName is not set. - * </li> - * </ul> - * Either the guid, qualifiedName or displayName can be used to specify the name for a connection. - * - * Other properties for the connection include: - * - * <ul> - * <li> - * type - information about the TypeDef for Connection - * </li> - * <li> - * description - A full description of the connection covering details of the assets it connects to - * along with usage and versioning information. - * </li> - * <li> - * additionalProperties - Any additional properties associated with the connection. - * </li> - * <li> - * securedProperties - Protected properties for secure log on by connector to back end server. These - * are protected properties that can only be retrieved by privileged connector code. - * </li> - * <li> - * connectorType - Properties that describe the connector type for the connector. - * </li> - * <li> - * endpoint - Properties that describe the server endpoint where the connector will retrieve the assets. - * </li> - * </ul> - - * The connection class is simply used to cache the properties for an connection. - * It is used by other classes to exchange this information between a metadata repository and a consumer. - */ -@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE) -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown=true) -public class Connection extends Referenceable -{ - /* - * Attributes of a connector - */ - private String displayName = null; - private String description = null; - private ConnectorType connectorType = null; - private Endpoint endpoint = null; - - /* - * Secured properties are protected so they can only be accessed by subclassing this object. - */ - protected AdditionalProperties securedProperties = null; - - - /** - * Default Constructor - this is used when the connection is being used independently of the connected - * asset - typically when constructing Connectors and managing information about remote systems. - * This is why the parent asset is null. - */ - public Connection() - { - super(null); - } - - - /** - * Copy/clone Constructor to return a copy of a connection object that is not connected to an asset. - * - * @param templateConnection - Connection to copy - */ - public Connection(Connection templateConnection) - { - super(templateConnection); - - /* - * Copy over properties from the template. - */ - if (templateConnection != null) - { - displayName = templateConnection.getDisplayName(); - description = templateConnection.getDescription(); - - ConnectorType templateConnectorType = templateConnection.getConnectorType(); - Endpoint templateEndpoint = templateConnection.getEndpoint(); - AdditionalProperties templateSecuredProperties = templateConnection.getSecuredProperties(); - - if (templateConnectorType != null) - { - connectorType = new ConnectorType(templateConnectorType); - } - if (templateEndpoint != null) - { - endpoint = new Endpoint(templateEndpoint); - } - if (templateSecuredProperties != null) - { - securedProperties = new AdditionalProperties(templateSecuredProperties); - } - } - } - - - /** - * Returns the stored display name property for the connection. - * Null means no displayName is available. - * - * @return displayName - */ - public String getDisplayName() { return displayName; } - - - /** - * Updates the display name property stored for the connection. - * If a null is supplied it means no display name is available. - * - * @param newDisplayName - consumable name - */ - public void setDisplayName(String newDisplayName) { displayName = newDisplayName; } - - - /** - * Returns a formatted string with the connection name. It is used in formatting error messages for the - * exceptions thrown by consuming components. It is extremely cautious because most of the exceptions - * are reporting a malformed connection object so who knows what else is wrong with it. - * - * Within the connection are 2 possible properties that could - * contain the connection name: - * ** qualifiedName - this is a uniqueName and should be there - * ** displayName - shorter simpler name but may not be unique - so may not identify the connection in error - * - * This method inspects these properties and builds up a string to represent the connection name - * - * @return connection name - */ - public String getConnectionName() - { - String connectionName = "<Unknown>"; /* if all properties are blank */ - - /* - * The qualifiedName is preferred because it is unique. - */ - if (qualifiedName != null && (!qualifiedName.equals(""))) - { - /* - * Use qualified name. - */ - connectionName = qualifiedName; - } - else if (displayName != null && (!displayName.equals(""))) - { - /* - * The qualifiedName is not set but the displayName is available so use it. - */ - connectionName = displayName; - } - - return connectionName; - } - - - /** - * Returns the stored description property for the connection. - * If no description is provided then null is returned. - * - * @return description - */ - public String getDescription() - { - return description; - } - - - /** - * Updates the description property stored for the connection. - * If a null is supplied it means no description is available. - * - * @param newDescription - description - */ - public void setDescription(String newDescription) { description = newDescription; } - - - /** - * Returns a copy of the properties for this connection's connector type. - * A null means there is no connection type. - * - * @return connector type - */ - public ConnectorType getConnectorType() - { - if (connectorType == null) - { - return connectorType; - } - else - { - return new ConnectorType(connectorType); - } - } - - - /** - * Updates the connector type for the connection. If null is supplied, it means there is no connection type. - * - * @param newConnectorType - connector type to copy - */ - public void setConnectorType(ConnectorType newConnectorType) { connectorType = newConnectorType; } - - - /** - * Returns a copy of the properties for this connection's endpoint. - * Null means no endpoint information available. - * - * @return endpoint - */ - public Endpoint getEndpoint() - { - if (endpoint == null) - { - return endpoint; - } - else - { - return new Endpoint(endpoint); - } - } - - - /** - * Updates the endpoint properties for this connection. If null is supplied is means there is no endpoint - * defined for this connection. - * - * @param newEndpoint - endpoint properties - */ - public void setEndpoint(Endpoint newEndpoint) { endpoint = newEndpoint; } - - - /** - * 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 (securedProperties == null) - { - return securedProperties; - } - else - { - return new AdditionalProperties(securedProperties); - } - } - - - /** - * Set up a new secured properties object. This is public so the metadata repository can set up the - * secured properties retrieved from the metadata repository. - * - * @param newSecuredProperties - typically user credentials for the connection - */ - public void setSecuredProperties(AdditionalProperties newSecuredProperties) - { - securedProperties = newSecuredProperties; - } -} \ No newline at end of file