diff options
author | Kajur, Harish (vk250x) <vk250x@att.com> | 2018-08-10 12:42:00 -0400 |
---|---|---|
committer | Kajur, Harish (vk250x) <vk250x@att.com> | 2018-08-12 16:48:34 -0400 |
commit | a86d6a6644d6de3f3f814cd6e25cfe2213d5dd05 (patch) | |
tree | 9935a64d7f830ebedf2742e0febef40e898cea91 /aai-annotations | |
parent | a395fa69a28a04d0a667fe458b4f10497a1d6794 (diff) |
Integrate aai-schema-ingest library into aai-core
Integrate the aai-core into using the aai-schema-ingest
library to be agnostic to the schema changes
Remove any references to aai-schema dependency in aai-core
Reorder the components so the aai-schema-ingest is first installed
Moved the edge rules to the aai-schema as they are linked to schema
Rework the generation of the aai-schema to using aai-schema-ingest library
Also remove the yaml and html folders as they get generated on the fly
So when maven pushes the aai-schema jar, the jar contains the generated
yaml, html and xsd files at runtime due to the gerrit limit of filesize
Issue-ID: AAI-1455
Change-Id: I87ecd9eb2fc96a09d3a6399955637674f6e7fb21
Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
Diffstat (limited to 'aai-annotations')
5 files changed, 218 insertions, 1 deletions
diff --git a/aai-annotations/pom.xml b/aai-annotations/pom.xml index 1a5f6967..4297c1a3 100644 --- a/aai-annotations/pom.xml +++ b/aai-annotations/pom.xml @@ -34,7 +34,7 @@ <packaging>jar</packaging> <version>1.3.0-SNAPSHOT</version> <properties> - <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> + <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> </properties> <dependencies> <dependency> @@ -49,6 +49,10 @@ <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> </plugin> <plugin> diff --git a/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java b/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java index 970319a2..8d03d8ab 100644 --- a/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java +++ b/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java @@ -39,6 +39,7 @@ public @interface Metadata { String defaultValue() default ""; String searchable() default ""; String uniqueProps() default ""; + String uriTemplate() default ""; String extendsFrom() default ""; String isAbstract() default ""; String alternateKeys1() default ""; diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java new file mode 100644 index 00000000..a127ba7f --- /dev/null +++ b/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java @@ -0,0 +1,127 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.schema.enums; + +public enum ObjectMetadata { + + /** + * description of object + */ + DESCRIPTION("description"), + /** + * names of properties to appear in relationship-lists + * and parent objects in DMaaP messages + * <br><b>comma separated list</b> + */ + NAME_PROPS("nameProps"), + /** + * names of properties to be indexed in the + * db schema + * <br><b>comma separated list</b> + */ + INDEXED_PROPS("indexedProps"), + /** + * name of the object this one depends on + */ + DEPENDENT_ON("dependentOn"), + /** + * name of the object which contains this object + */ + CONTAINER("container"), + /** + * the top level namespace to which this object belongs<br> + * <b>only valid on top level objects</b> + */ + NAMESPACE("namespace"), + /** + * properties which are searchable via the GUI + * <br><b>comma separated list</b> + */ + SEARCHABLE("searchable"), + /** + * properties marked as unique in the db schema + * <br><b>comma separated list</b> + */ + UNIQUE_PROPS("uniqueProps"), + /** + * uri template for this object + */ + URI_TEMPLATE("uriTemplate"), + /** + * abstract type from which this object extends + */ + EXTENDS("extends"), + /** + * comma separated list of objects who inherit this object<br> + * <b>only valid on abstract objects</b> + */ + INHERITORS("inheritors"), + /** + * a value of true marks this object as abstract + * abstract objects cannot be read/written directly + * they resolve to "or queries" when used in queries + */ + ABSTRACT("abstract"), + /** + * comma separated list of properties which are alternate ways + * to identify this object + */ + ALTERNATE_KEYS_1("alternateKeys1"), + /** + * the maximum allowable retrievable depth + */ + MAXIMUM_DEPTH("maximumDepth"), + /** + * collection of other objects to retrieve along with this one + * <br><b>comma separated list</b> + */ + CROSS_ENTITY_REFERENCE("crossEntityReference"), + /** + * Marks that this object can be linked to via dataLink + */ + CAN_BE_LINKED("canBeLinked"), + /** + * The entity contains properties that are suggestible + */ + CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"), + /** + * A list of aliases for the entity name (for AAI UI searches) + */ + SUGGESTION_ALIASES("suggestionAliases"), + /** + * a value of true allows this object to be read directly + */ + ALLOW_DIRECT_READ("allowDirectRead"), + /** + * a value of true allows this object to be written directly + */ + ALLOW_DIRECT_WRITE("allowDirectWrite"); + + private final String name; + + private ObjectMetadata(String name) { + this.name = name; + } + + @Override public String toString() { + return name; + } + +} diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java new file mode 100644 index 00000000..ac2c00b7 --- /dev/null +++ b/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java @@ -0,0 +1,84 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.schema.enums; + +public enum PropertyMetadata { + + /** + * description of property + */ + DESCRIPTION("description"), + /** + * default value of property + */ + DEFAULT_VALUE("defaultValue"), + /** + * sets the property name used when writing to the db + */ + DB_ALIAS("dbAlias"), + /** + * a URI which describes the location of a value to be + * written on a PUT + */ + DATA_COPY("dataCopy"), + /** + * a URI which describes another object which backs this value + */ + DATA_LINK("dataLink"), + /** + * controls the visibility of a field based on context + */ + VISIBILITY("visibility"), + /** + * specifies a field which must be populated to pass validation + */ + REQUIRES("requires"), + /** + * automatically creates an id for the property if not specified + */ + AUTO_GENERATE_UUID("autoGenerateUuid"), + /** + * Property is used for VNF searches in AAI UI + */ + SUGGESTIBLE_ON_SEARCH("suggestibleOnSearch"), + /** + * An identifier that indicates which system is the master of this property data + */ + SOURCE_OF_TRUTH_TYPE("sourceOfTruthType"), + /** + * makes property read only by version + */ + READ_ONLY("readOnly"), + /** + * Add a private edge between two objects based on the uri provided by user which should provide + * the appropriate information from the url similar to dataCopy + */ + PRIVATE_EDGE("privateEdge"); + + private final String name; + + private PropertyMetadata(String name) { + this.name = name; + } + + @Override public String toString() { + return name; + } +} diff --git a/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java b/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java index 01552784..caaec99a 100644 --- a/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java +++ b/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java @@ -36,6 +36,7 @@ public class AnnotationsTest { defaultValue="", searchable="", uniqueProps="", + uriTemplate="", extendsFrom="", isAbstract="", alternateKeys1="", |