package org.openecomp.aai.dbgen;
-import java.util.Properties;
-
-import org.openecomp.aai.dbmap.AAIGraph;
-import org.openecomp.aai.logging.ErrorLogHelper;
-import org.openecomp.aai.util.AAIConfig;
-import org.openecomp.aai.util.AAIConstants;
import com.att.eelf.configuration.Configuration;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import com.thinkaurelius.titan.core.TitanGraph;
import com.thinkaurelius.titan.core.schema.TitanManagement;
+import org.openecomp.aai.dbmap.AAIGraph;
+import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.util.AAIConfig;
+import org.openecomp.aai.util.AAIConstants;
-
+import java.util.Properties;
public class GenTester {
package org.openecomp.aai.introspection;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
import org.apache.commons.lang.ClassUtils;
import org.eclipse.persistence.exceptions.DynamicException;
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.schema.enums.PropertyMetadata;
import org.openecomp.aai.workarounds.NamingExceptions;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.*;
public abstract class Introspector implements Cloneable {
package org.openecomp.aai.introspection;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
public class IntrospectorWalker {
private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(IntrospectorWalker.class);
package org.openecomp.aai.introspection;
+import org.json.simple.JSONObject;
+import org.openecomp.aai.schema.enums.ObjectMetadata;
+import org.openecomp.aai.schema.enums.PropertyMetadata;
+
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
-import org.json.simple.JSONObject;
-
-import org.openecomp.aai.schema.enums.ObjectMetadata;
-import org.openecomp.aai.schema.enums.PropertyMetadata;
-
public class JSONStrategy extends Introspector {
private JSONObject json = null;
package org.openecomp.aai.introspection;
-import java.util.Map;
-
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.introspection.exceptions.AAIUnmarshallingException;
import org.openecomp.aai.restcore.MediaType;
+import java.util.Map;
+
public abstract class Loader {
private final Version version;
package org.openecomp.aai.introspection;
+import org.eclipse.persistence.dynamic.DynamicType;
+import org.eclipse.persistence.jaxb.JAXBContextProperties;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory;
+import org.openecomp.aai.util.AAIConstants;
+
+import javax.xml.bind.JAXBException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.xml.bind.JAXBException;
-
-import org.eclipse.persistence.dynamic.DynamicType;
-import org.eclipse.persistence.jaxb.JAXBContextProperties;
-import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
-import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory;
-
-import org.openecomp.aai.util.AAIConstants;
-
public class ModelInjestor {
private Map<Version, DynamicJAXBContext> versionContextMap = new HashMap<>();
package org.openecomp.aai.introspection;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.stream.StreamSource;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
+import com.google.common.collect.ImmutableMap;
import org.eclipse.persistence.dynamic.DynamicEntity;
import org.eclipse.persistence.jaxb.UnmarshallerProperties;
import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
-import com.google.common.collect.ImmutableMap;
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.stream.StreamSource;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
public class MoxyLoader extends Loader {
package org.openecomp.aai.introspection;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
+import com.google.common.base.CaseFormat;
+import com.google.common.base.Joiner;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.dynamic.DynamicEntity;
import org.eclipse.persistence.dynamic.DynamicType;
import org.eclipse.persistence.oxm.XMLField;
import org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping;
import org.eclipse.persistence.oxm.mappings.XMLCompositeDirectCollectionMapping;
-import org.springframework.web.util.UriUtils;
-
import org.openecomp.aai.restcore.MediaType;
import org.openecomp.aai.schema.enums.ObjectMetadata;
import org.openecomp.aai.schema.enums.PropertyMetadata;
-import com.google.common.base.CaseFormat;
-import com.google.common.base.Joiner;
+import org.springframework.web.util.UriUtils;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+import java.util.Map.Entry;
public class MoxyStrategy extends Introspector {
package org.openecomp.aai.introspection;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import org.eclipse.persistence.jaxb.JAXBContextFactory;
+import org.openecomp.aai.db.props.AAIProperties;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
-
-import org.eclipse.persistence.jaxb.JAXBContextFactory;
-
-import org.openecomp.aai.db.props.AAIProperties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class PojoInjestor {
package org.openecomp.aai.introspection;
-import java.io.StringReader;
-import java.util.Map;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
import org.eclipse.persistence.jaxb.JAXBContextFactory;
import org.eclipse.persistence.jaxb.UnmarshallerProperties;
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.restcore.MediaType;
import org.openecomp.aai.workarounds.NamingExceptions;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
+import java.util.Map;
public class PojoLoader extends Loader {
package org.openecomp.aai.introspection;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.google.common.base.CaseFormat;
+import com.google.common.base.Joiner;
+import com.google.common.collect.Multimap;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.openecomp.aai.annotations.Metadata;
+import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.restcore.MediaType;
+import org.openecomp.aai.schema.enums.ObjectMetadata;
+import org.openecomp.aai.schema.enums.PropertyMetadata;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.transform.stream.StreamSource;
-
-import org.eclipse.persistence.jaxb.UnmarshallerProperties;
-
-import org.openecomp.aai.annotations.Metadata;
-import org.openecomp.aai.logging.ErrorLogHelper;
-import org.openecomp.aai.restcore.MediaType;
-import org.openecomp.aai.schema.enums.ObjectMetadata;
-import org.openecomp.aai.schema.enums.PropertyMetadata;
-import com.google.common.base.CaseFormat;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Multimap;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.lang.reflect.*;
+import java.util.*;
public class PojoStrategy extends Introspector {
package org.openecomp.aai.introspection;
import java.util.function.BiPredicate;
-import java.util.function.Predicate;
public interface PropertyPredicate<T, U> extends BiPredicate<T, U> {
package org.openecomp.aai.introspection;
+import org.openecomp.aai.schema.enums.PropertyMetadata;
+
import java.util.Map;
import java.util.Set;
-import org.openecomp.aai.schema.enums.PropertyMetadata;
-
public final class PropertyPredicates {
private PropertyPredicates() {
package org.openecomp.aai.introspection;
-import java.util.List;
-
import org.openecomp.aai.exceptions.AAIException;
+import java.util.List;
+
public interface Wanderer {
/**
package org.openecomp.aai.introspection.generator;
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.*;
+
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.IntrospectorWalker;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.PropertyPredicates;
-import org.openecomp.aai.introspection.Wanderer;
-
public class CreateExample implements Wanderer {
private SecureRandom rand = new SecureRandom();
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Objects;
-import java.util.Optional;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.sideeffect.exceptions.AAIMissingRequiredPropertyException;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.Optional;
+
public class DataCopy extends SideEffect {
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.regex.Matcher;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Optional;
+import java.util.regex.Matcher;
+
public class DataLinkReader extends SideEffect {
public DataLinkReader(Introspector obj, Vertex self, TransactionalGraphEngine dbEngine, DBSerializer serializer) {
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Optional;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Optional;
+
public class DataLinkWriter extends SideEffect {
public DataLinkWriter(Introspector obj, Vertex self, TransactionalGraphEngine dbEngine, DBSerializer serializer) {
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import java.io.UnsupportedEncodingException;
+import java.net.URISyntaxException;
+import java.util.*;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
public abstract class SideEffect {
protected static final Pattern template = Pattern.compile("\\{(.*?)\\}");
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URISyntaxException;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URISyntaxException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
public class SideEffectRunner {
protected final TransactionalGraphEngine dbEngine;
package org.openecomp.aai.introspection.sideeffect;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Set;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Wanderer;
import org.openecomp.aai.serialization.db.DBSerializer;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URISyntaxException;
+import java.util.List;
+import java.util.Set;
+
class SideEffectRunnerHelper implements Wanderer {
package org.openecomp.aai.introspection.tools;
-import java.util.Map;
-import java.util.UUID;
-
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.schema.enums.PropertyMetadata;
+import java.util.Map;
+import java.util.UUID;
+
public class CreateUUID implements IssueResolver {
/**
package org.openecomp.aai.introspection.tools;
-import java.util.Map;
-
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.schema.enums.PropertyMetadata;
+import java.util.Map;
+
public class DefaultFields implements IssueResolver {
/**
package org.openecomp.aai.introspection.tools;
-import java.net.URI;
-
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.parsers.uri.URIToObject;
+import java.net.URI;
+
public class InjectKeysFromURI implements IssueResolver {
private URI uri = null;
package org.openecomp.aai.introspection.tools;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Wanderer;
import org.openecomp.aai.schema.enums.PropertyMetadata;
+import java.util.*;
+
public class IntrospectorValidator implements Wanderer {
*
* @param builder the builder
*/
- private IntrospectorValidator(IntrospectorValidator.Builder builder) {
+ private IntrospectorValidator(Builder builder) {
this.validateRequired = builder.getValidateRequired();
this.issueResolvers = builder.getResolvers();
this.maximumDepth = builder.getMaximumDepth();
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import javax.ws.rs.core.MultivaluedMap;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.restcore.util.URITools;
import org.openecomp.aai.schema.enums.PropertyMetadata;
import org.openecomp.aai.serialization.db.EdgeType;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
+
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.*;
+import java.util.Map.Entry;
/**
* The Class LegacyQueryParser.
package org.openecomp.aai.parsers.query;
-import java.net.URI;
-
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.introspection.LoaderFactory;
import org.openecomp.aai.query.builder.QueryBuilder;
+import java.net.URI;
+
/**
* The Class QueryParser.
*/
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.query.builder.QueryBuilder;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
/**
* The Class QueryParserStrategy.
*/
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.IntrospectorFactory;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.introspection.ModelType;
import org.openecomp.aai.parsers.relationship.RelationshipToURI;
import org.openecomp.aai.parsers.uri.URIParser;
import org.openecomp.aai.query.builder.QueryBuilder;
import org.openecomp.aai.serialization.db.EdgeRules;
-import com.google.common.base.CaseFormat;
+
+import java.io.UnsupportedEncodingException;
/**
* The Class RelationshipQueryParser.
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.query.builder.QueryBuilder;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
/**
* The Class TraversalStrategy.
*/
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.parsers.relationship.RelationshipToURI;
import org.openecomp.aai.query.builder.QueryBuilder;
+import java.io.UnsupportedEncodingException;
+
/**
* The Class UniqueRelationshipQueryParser.
*/
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.query.builder.QueryBuilder;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
/**
* The Class UniqueStrategy.
*/
package org.openecomp.aai.parsers.query;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.query.builder.QueryBuilder;
import org.openecomp.aai.serialization.db.EdgeType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.UriBuilder;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
/**
* The Class UniqueURIQueryParser.
package org.openecomp.aai.parsers.relationship;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Optional;
-
-import javax.ws.rs.core.UriBuilder;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.IntrospectorFactory;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.ModelType;
-import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.introspection.*;
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.parsers.exceptions.AAIIdentityMapParseException;
import org.openecomp.aai.parsers.exceptions.AmbiguousMapAAIException;
import org.openecomp.aai.serialization.db.EdgeType;
import org.openecomp.aai.workarounds.LegacyURITransformer;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
+import javax.ws.rs.core.UriBuilder;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Optional;
/**
* The Class RelationshipToURI.
package org.openecomp.aai.parsers.uri;
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.EdgeType;
+import javax.ws.rs.core.MultivaluedMap;
+
/**
* The Interface Parsable.
*/
package org.openecomp.aai.parsers.uri;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.Set;
-
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.util.AAIConfig;
import org.springframework.web.util.UriUtils;
+import javax.ws.rs.core.MultivaluedHashMap;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.UriBuilder;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.Set;
+
/**
* The Class URIParser.
package org.openecomp.aai.parsers.uri;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
+import com.google.common.base.Joiner;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.serialization.db.EdgeType;
-import com.google.common.base.Joiner;
+
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
/**
* Creates a Unique database key from a URI
package org.openecomp.aai.parsers.uri;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
+import com.google.common.base.CaseFormat;
+import com.google.common.base.Joiner;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.restcore.HttpMethod;
import org.openecomp.aai.serialization.db.EdgeType;
-import com.google.common.base.CaseFormat;
-import com.google.common.base.Joiner;
+
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
/**
* The Class URIToExtensionInformation.
package org.openecomp.aai.parsers.uri;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.schema.enums.ObjectMetadata;
import org.openecomp.aai.serialization.db.EdgeType;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+
/**
* Given a URI this class returns an object, or series of nested objects
* with their keys populated based off the values in the URI.
package org.openecomp.aai.parsers.uri;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.Loader;
import org.openecomp.aai.util.AAIApiServerURLBase;
import org.openecomp.aai.workarounds.LegacyURITransformer;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.List;
+
/**
* Given a URI a Relationship Object is returned.
*
package org.openecomp.aai.parsers.uri;
-import javax.ws.rs.core.MultivaluedMap;
-
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.serialization.db.EdgeType;
+import javax.ws.rs.core.MultivaluedMap;
+
class URIValidate implements Parsable {
@Override
package org.openecomp.aai.serialization.db;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-
-import javax.ws.rs.core.UriBuilder;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
+import com.thinkaurelius.titan.core.SchemaViolationException;
import org.apache.commons.collections.IteratorUtils;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.apache.tinkerpop.gremlin.structure.*;
import org.javatuples.Pair;
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.IntrospectorFactory;
-import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.LoaderFactory;
-import org.openecomp.aai.introspection.ModelType;
-import org.openecomp.aai.introspection.PropertyPredicates;
-import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.introspection.*;
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.introspection.sideeffect.DataCopy;
import org.openecomp.aai.introspection.sideeffect.DataLinkReader;
import org.openecomp.aai.util.AAIConstants;
import org.openecomp.aai.workarounds.NamingExceptions;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
-import com.thinkaurelius.titan.core.SchemaViolationException;
+import javax.ws.rs.core.UriBuilder;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.*;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
public class DBSerializer {
package org.openecomp.aai.serialization.db;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+
import java.util.HashMap;
import java.util.Map;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-
public class EdgeRule {
private String label = "";
package org.openecomp.aai.serialization.db;
-import java.util.concurrent.atomic.AtomicInteger;
-
+import com.thinkaurelius.titan.core.TitanGraph;
import org.openecomp.aai.dbmap.AAIGraph;
import org.openecomp.aai.dbmap.DBConnectionType;
-import com.thinkaurelius.titan.core.TitanGraph;
+
+import java.util.concurrent.atomic.AtomicInteger;
/* This class simply calls AAIGraph under the covers for now */
public class GraphSingleton {
import org.openecomp.aai.introspection.ModelType;
import org.openecomp.aai.introspection.Version;
import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
-import org.apache.tinkerpop.gremlin.structure.Graph;
public class LegacyDBSerializer extends DBSerializer {
-/*-
+package org.openecomp.aai.serialization.engines.query;/*-
* ============LICENSE_START=======================================================
* org.openecomp.aai
* ================================================================================
-/*-
+package org.openecomp.aai.serialization.engines.query;/*-
* ============LICENSE_START=======================================================
* org.openecomp.aai
* ================================================================================
package org.openecomp.aai.serialization.engines.query;
-import java.util.List;
-
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Element;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.introspection.Loader;
+import java.util.List;
+
public abstract class QueryEngine {
final protected GraphTraversalSource g;
package org.openecomp.aai.serialization.queryformats;
-import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import com.google.gson.JsonObject;
+import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
public class Console implements FormatMapper {
import org.openecomp.aai.serialization.queryformats.utils.QueryParamInjector;
import org.openecomp.aai.serialization.queryformats.utils.UrlBuilder;
+import javax.ws.rs.core.MultivaluedHashMap;
+import javax.ws.rs.core.MultivaluedMap;
+
public class FormatFactory {
private final Loader loader;
package org.openecomp.aai.serialization.queryformats;
-import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import com.google.gson.JsonObject;
+import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
public interface FormatMapper {
package org.openecomp.aai.serialization.queryformats;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Stream;
-
-import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Stream;
public class Formatter {
package org.openecomp.aai.serialization.queryformats;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.thinkaurelius.titan.graphdb.tinkerpop.TitanIoRegistry;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONWriter;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.thinkaurelius.titan.graphdb.tinkerpop.TitanIoRegistry;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
public class GraphSON implements FormatMapper {
package org.openecomp.aai.serialization.queryformats;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import org.openecomp.aai.serialization.queryformats.utils.UrlBuilder;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
public class IdURL implements FormatMapper {
package org.openecomp.aai.serialization.queryformats;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-
import org.openecomp.aai.db.props.AAIProperties;
import org.openecomp.aai.exceptions.AAIException;
import org.openecomp.aai.introspection.Introspector;
import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import org.openecomp.aai.serialization.queryformats.utils.UrlBuilder;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
public final class PathedURL implements FormatMapper {
package org.openecomp.aai.serialization.tinkerpop;
-import java.util.Iterator;
-
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import java.util.Iterator;
+
/**
* Represents a {@link Edge} that is disconnected from a {@link Graph} however,
package org.openecomp.aai.serialization.tinkerpop;
+import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
+import org.apache.tinkerpop.gremlin.structure.*;
+import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
-
/**
* Represents a {@link Vertex} that is disconnected from a {@link Graph} however,
* traversals are supported as they are backed by a Tree with saturated {@link Vertex} and {@link Edge} objects.
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.After;
import org.junit.Before;
@Ignore
public class DbAliasTest {
+
+
+
private TitanGraph graph;
private final Version version = Version.v9;
private final ModelType introspectorFactoryType = ModelType.MOXY;
type,
loader);
}
-
+
@After
public void tearDown() {
graph.tx().rollback();
graph.close();
}
-
+
@Test
public void checkOnWrite() throws AAIException, UnsupportedEncodingException, URISyntaxException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException, NoSuchMethodException, InterruptedException {
final String property = "persona-model-customization-id";
if (map.containsKey(PropertyMetadata.DB_ALIAS)) {
dbPropertyName = map.get(PropertyMetadata.DB_ALIAS);
}
-
+
assertEquals("dbAlias is ", "model-customization-id", dbPropertyName);
assertEquals("dbAlias property exists", "hello", v.property(dbPropertyName).orElse(""));
assertEquals("model property does not", "missing", v.property(property).orElse("missing"));
-
+
}
-
+
@Test
public void checkOnRead() throws AAIException, UnsupportedEncodingException, URISyntaxException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException, NoSuchMethodException, InterruptedException, MalformedURLException {
final String property = "persona-model-customization-id";
-
+
TransactionalGraphEngine spy = spy(dbEngine);
TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
Vertex v = graph.traversal().addV("vnf-id", "key1", "model-customization-id", "hello").next();
DBSerializer serializer = new DBSerializer(version, spy, introspectorFactoryType, "AAI_TEST");
Introspector obj = loader.introspectorFromName("generic-vnf");
serializer.dbToObject(Collections.singletonList(v), obj, 0, true, "false");
-
+
assertEquals("dbAlias property exists", "hello", obj.getValue(property));
-
+
}
-
-
+
}
</xs:appinfo>
</xs:annotation>
</xs:element>
+ <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Units for downstream BW value")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
<xs:element name="resource-version" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:appinfo>
</div>
</dd>
+ <dt data-property-name="service-provider-bandwidth-up-value">
+ <span class="json-property-name">service-provider-bandwidth-up-value:</span>
+ <span class="json-property-type">integer</span>
+ <span class="json-property-range" title="Value limits"></span>
+
+ </dt>
+ <dd>
+ <p>Upstream Bandwidth value agreed with the service provider</p>
+ <div class="json-inner-schema">
+
+ </div>
+ </dd>
+ <dt data-property-name="service-provider-bandwidth-up-units">
+ <span class="json-property-name">service-provider-bandwidth-up-units:</span>
+ <span class="json-property-type">string</span>
+ <span class="json-property-range" title="Value limits"></span>
+
+ </dt>
+ <dd>
+ <p>Units for the upstream BW value</p>
+ <div class="json-inner-schema">
+
+ </div>
+ </dd>
+ <dt data-property-name="service-provider-bandwidth-down-value">
+ <span class="json-property-name">service-provider-bandwidth-down-value:</span>
+ <span class="json-property-type">integer</span>
+ <span class="json-property-range" title="Value limits"></span>
+
+ </dt>
+ <dd>
+ <p>Downstream Bandwidth value agreed with the service provider</p>
+ <div class="json-inner-schema">
+
+ </div>
+ </dd>
+ <dt data-property-name="service-provider-bandwidth-down-units">
+ <span class="json-property-name">service-provider-bandwidth-down-units:</span>
+ <span class="json-property-type">string</span>
+ <span class="json-property-range" title="Value limits"></span>
+
+ </dt>
+ <dd>
+ <p>Units for downstream BW value</p>
+ <div class="json-inner-schema">
+
+ </div>
+ </dd>
<dt data-property-name="resource-version">
<span class="json-property-name">resource-version:</span>
<span class="json-property-type">string</span>
service-provider-name:
type: string
description: Name of the service Provider on this link.
+ service-provider-bandwidth-up-value:
+ type: integer
+ format: int32
+ description: Upstream Bandwidth value agreed with the service provider
+ service-provider-bandwidth-up-units:
+ type: string
+ description: Units for the upstream BW value
+ service-provider-bandwidth-down-value:
+ type: integer
+ format: int32
+ description: Downstream Bandwidth value agreed with the service provider
+ service-provider-bandwidth-down-units:
+ type: string
+ description: Units for downstream BW value
resource-version:
type: string
description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.
<xml-properties>
<xml-property name="description" value="Name of the service Provider on this link." />
</xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for the upstream BW value" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+ <xml-properties>
+ <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider" />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Units for downstream BW value" />
+ </xml-properties>
</xml-element>
<xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
<xml-properties>