diff options
author | 2017-09-21 20:26:30 +0530 | |
---|---|---|
committer | 2017-09-21 20:27:50 +0530 | |
commit | b7d0116d228ba50d89429c615ff3e88eec30885e (patch) | |
tree | 6914220baf2f8e2dd5b66f8b55417e0ddb625df8 /ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java | |
parent | fa0b665cbf2d95af70562cef7f372dfb24501c09 (diff) |
Resolved below sonar issues:
reduced method complexitity.
handled null pointer exceptions.
removed typo
added loggers to handle excpetion and error cases.
Issue-Id:AAI-211
Change-Id: Iecdd98de9503c73b66c5b65d474ca23ad4f03fb4
Signed-off-by: Bharat saraswal <bharat.saraswal@huawei.com>
Diffstat (limited to 'ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java')
-rw-r--r-- | ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java | 184 |
1 files changed, 88 insertions, 96 deletions
diff --git a/ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java b/ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java index 814afd6..c29d94a 100644 --- a/ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java +++ b/ajsc-aai/src/main/java/org/openecomp/aai/db/schema/AuditTitan.java @@ -20,108 +20,100 @@ package org.openecomp.aai.db.schema; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; - -import org.apache.tinkerpop.gremlin.structure.Vertex; - import com.thinkaurelius.titan.core.EdgeLabel; import com.thinkaurelius.titan.core.PropertyKey; import com.thinkaurelius.titan.core.TitanGraph; import com.thinkaurelius.titan.core.schema.TitanGraphIndex; import com.thinkaurelius.titan.core.schema.TitanManagement; +import java.util.Iterator; +import java.util.LinkedHashSet; +import org.apache.tinkerpop.gremlin.structure.Vertex; public class AuditTitan extends Auditor { - private final TitanGraph graph; - - /** - * Instantiates a new audit titan. - * - * @param g the g - */ - public AuditTitan (TitanGraph g) { - this.graph = g; - buildSchema(); - } - - /** - * Builds the schema. - */ - private void buildSchema() { - populateProperties(); - populateIndexes(); - populateEdgeLabels(); - } - - /** - * Populate properties. - */ - private void populateProperties() { - TitanManagement mgmt = graph.openManagement(); - Iterable<PropertyKey> iterable = mgmt.getRelationTypes(PropertyKey.class); - Iterator<PropertyKey> titanProperties = iterable.iterator(); - PropertyKey propKey = null; - while (titanProperties.hasNext()) { - propKey = titanProperties.next(); - DBProperty prop = new DBProperty(); - - prop.setName(propKey.name()); - prop.setCardinality(propKey.cardinality()); - prop.setTypeClass(propKey.dataType()); - - this.properties.put(prop.getName(), prop); - } - } - - /** - * Populate indexes. - */ - private void populateIndexes() { - TitanManagement mgmt = graph.openManagement(); - Iterable<TitanGraphIndex> iterable = mgmt.getGraphIndexes(Vertex.class); - Iterator<TitanGraphIndex> titanIndexes = iterable.iterator(); - TitanGraphIndex titanIndex = null; - while (titanIndexes.hasNext()) { - titanIndex = titanIndexes.next(); - if (titanIndex.isCompositeIndex()) { - DBIndex index = new DBIndex(); - LinkedHashSet<DBProperty> dbProperties = new LinkedHashSet<>(); - index.setName(titanIndex.name()); - index.setUnique(titanIndex.isUnique()); - PropertyKey[] keys = titanIndex.getFieldKeys(); - for (PropertyKey key : keys) { - dbProperties.add(this.properties.get(key.name())); - } - index.setProperties(dbProperties); - index.setStatus(titanIndex.getIndexStatus(keys[0])); - this.indexes.put(index.getName(), index); - } - } - } - - /** - * Populate edge labels. - */ - private void populateEdgeLabels() { - TitanManagement mgmt = graph.openManagement(); - Iterable<EdgeLabel> iterable = mgmt.getRelationTypes(EdgeLabel.class); - Iterator<EdgeLabel> titanEdgeLabels = iterable.iterator(); - EdgeLabel edgeLabel = null; - while (titanEdgeLabels.hasNext()) { - edgeLabel = titanEdgeLabels.next(); - EdgeProperty edgeProperty = new EdgeProperty(); - - edgeProperty.setName(edgeLabel.name()); - edgeProperty.setMultiplicity(edgeLabel.multiplicity()); - - this.edgeLabels.put(edgeProperty.getName(), edgeProperty); - } - } - + private final TitanGraph graph; + + /** + * Instantiates a new audit titan. + * + * @param g the g + */ + public AuditTitan(TitanGraph g) { + this.graph = g; + buildSchema(); + } + + /** + * Builds the schema. + */ + private void buildSchema() { + populateProperties(); + populateIndexes(); + populateEdgeLabels(); + } + + /** + * Populate properties. + */ + private void populateProperties() { + TitanManagement mgmt = graph.openManagement(); + Iterable<PropertyKey> iterable = mgmt.getRelationTypes(PropertyKey.class); + Iterator<PropertyKey> titanProperties = iterable.iterator(); + PropertyKey propKey; + while (titanProperties.hasNext()) { + propKey = titanProperties.next(); + DBProperty prop = new DBProperty(); + + prop.setName(propKey.name()); + prop.setCardinality(propKey.cardinality()); + prop.setTypeClass(propKey.dataType()); + + this.properties.put(prop.getName(), prop); + } + } + + /** + * Populate indexes. + */ + private void populateIndexes() { + TitanManagement mgmt = graph.openManagement(); + Iterable<TitanGraphIndex> iterable = mgmt.getGraphIndexes(Vertex.class); + Iterator<TitanGraphIndex> titanIndexes = iterable.iterator(); + TitanGraphIndex titanIndex; + while (titanIndexes.hasNext()) { + titanIndex = titanIndexes.next(); + if (titanIndex.isCompositeIndex()) { + DBIndex index = new DBIndex(); + LinkedHashSet<DBProperty> dbProperties = new LinkedHashSet<>(); + index.setName(titanIndex.name()); + index.setUnique(titanIndex.isUnique()); + PropertyKey[] keys = titanIndex.getFieldKeys(); + for (PropertyKey key : keys) { + dbProperties.add(this.properties.get(key.name())); + } + index.setProperties(dbProperties); + index.setStatus(titanIndex.getIndexStatus(keys[0])); + this.indexes.put(index.getName(), index); + } + } + } + + /** + * Populate edge labels. + */ + private void populateEdgeLabels() { + TitanManagement mgmt = graph.openManagement(); + Iterable<EdgeLabel> iterable = mgmt.getRelationTypes(EdgeLabel.class); + Iterator<EdgeLabel> titanEdgeLabels = iterable.iterator(); + EdgeLabel edgeLabel; + while (titanEdgeLabels.hasNext()) { + edgeLabel = titanEdgeLabels.next(); + EdgeProperty edgeProperty = new EdgeProperty(); + + edgeProperty.setName(edgeLabel.name()); + edgeProperty.setMultiplicity(edgeLabel.multiplicity()); + + this.edgeLabels.put(edgeProperty.getName(), edgeProperty); + } + } } |