finish alto-manager and related alto-commons code 50/19650/1
authordongshu <dongshu@factual.com>
Tue, 5 May 2015 17:50:59 +0000 (01:50 +0800)
committerdongshu <dongshu@factual.com>
Tue, 5 May 2015 17:50:59 +0000 (01:50 +0800)
Change-Id: Ide9e382e57c9dd3667d5dca7543fc77b38d8f4f4
Signed-off-by: dongshu <dongshu@factual.com>
25 files changed:
alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapConverter.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapDataConverter.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapMetaConverter.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelEndpointPropMapConverter.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelNetworkMapConverter.java
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMap.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapData.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapMeta.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostType.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDependentVtag.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDstCosts.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointProperties.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMap.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMeta.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelJSONMapper.java
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelNetworkMap.java
alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelProperties.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/rfc7285/RFC7285EndpointPropertyMap.java [new file with mode: 0644]
alto-commons/src/main/java/org/opendaylight/alto/commons/types/rfc7285/RFC7285JSONMapper.java
alto-manager/src/main/java/org/opendaylight/alto/manager/AltoCreate.java
alto-manager/src/main/java/org/opendaylight/alto/manager/AltoDelete.java
alto-manager/src/main/java/org/opendaylight/alto/manager/AltoManagerConstants.java
alto-model/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/alto/service/types/rev150404/EndpointPropertyTypeBuilder.java
alto-model/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/alto/service/types/rev150404/GlobalEndpointPropertyBuilder.java
alto-model/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/alto/service/types/rev150404/TypedEndpointAddressBuilder.java

diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapConverter.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapConverter.java
new file mode 100644 (file)
index 0000000..bf66d89
--- /dev/null
@@ -0,0 +1,56 @@
+package org.opendaylight.alto.commons.types.converter;
+import java.util.LinkedList;
+
+import org.opendaylight.alto.commons.helper.Converter;
+import org.opendaylight.alto.commons.types.model150404.ModelCostMap;
+import org.opendaylight.alto.commons.types.model150404.ModelCostMapData;
+import org.opendaylight.alto.commons.types.rfc7285.RFC7285CostMap;
+import org.opendaylight.alto.commons.types.rfc7285.RFC7285JSONMapper;
+
+public class RFC2ModelCostMapConverter 
+    extends Converter<RFC7285CostMap, ModelCostMap>{
+
+  protected RFC2ModelCostMapMetaConverter metaConv = new RFC2ModelCostMapMetaConverter();
+  protected RFC2ModelCostMapDataConverter dataConv = new RFC2ModelCostMapDataConverter();
+  
+  public RFC2ModelCostMapConverter() {
+  }
+
+  public RFC2ModelCostMapConverter(RFC7285CostMap _in) {
+      super(_in);
+  }
+  
+  @Override
+  protected Object _convert() {
+    ModelCostMap out = new ModelCostMap();
+    out.rid = getCostMapResourceId(in());
+    out.tag = "";
+    
+    out.meta = metaConv.convert(in().meta);
+    out.map = new LinkedList<ModelCostMapData>();
+    for (String src : in().map.keySet()) {
+      ModelCostMapData data = new ModelCostMapData();
+      data.src = src;
+      data.dstCosts = dataConv.convert(in().map.get(src));
+      out.map.add(data);
+    }
+    return out;
+  }
+  
+  public static void main(String[] args) {
+    String rfcCostMap = "{\"meta\":{\"dependent-vtags\":[{\"resource-id\":\"my-default-network-map\",\"tag\":\"3ee2cb7e8d63d9fab71b9b34cbf764436315542e\"}],\"cost-type\":{\"cost-mode\":\"numerical\",\"cost-metric\":\"routingcost\"}},\"cost-map\":{\"PID1\":{\"PID1\":1,\"PID2\":5,\"PID3\":10},\"PID2\":{\"PID1\":5,\"PID2\":1,\"PID3\":15},\"PID3\":{\"PID1\":20,\"PID2\":15}}}";
+    try {
+      RFC7285JSONMapper mapper = new RFC7285JSONMapper();
+      RFC7285CostMap costMap = mapper.asCostMap(rfcCostMap);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+  
+  private String getCostMapResourceId(RFC7285CostMap costMap) {
+    String networkMapRID = costMap.meta.netmap_tags.get(0).rid;
+    String costMetric = costMap.meta.costType.metric;
+    String costMode = costMap.meta.costType.mode;
+    return networkMapRID + "-" + costMetric + "-" + costMode;
+  }
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapDataConverter.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapDataConverter.java
new file mode 100644 (file)
index 0000000..c9da6e7
--- /dev/null
@@ -0,0 +1,32 @@
+package org.opendaylight.alto.commons.types.converter;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.opendaylight.alto.commons.helper.Converter;
+import org.opendaylight.alto.commons.types.model150404.ModelDstCosts;
+
+public class RFC2ModelCostMapDataConverter 
+    extends Converter<Map<String, Object>, List<ModelDstCosts>> {
+  
+  public RFC2ModelCostMapDataConverter() {
+  }
+
+  public RFC2ModelCostMapDataConverter(Map<String, Object> _in) {
+      super(_in);
+  }
+  
+  @Override
+  protected Object _convert() {
+    List<ModelDstCosts> dstCostsList = new LinkedList<ModelDstCosts>();
+    for (String dst : in().keySet()) {
+      ModelDstCosts dstCosts = new ModelDstCosts();
+      dstCosts.dst = dst;
+      dstCosts.cost = in().get(dst);
+      dstCostsList.add(dstCosts);
+    }
+    return dstCostsList;
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapMetaConverter.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelCostMapMetaConverter.java
new file mode 100644 (file)
index 0000000..716c182
--- /dev/null
@@ -0,0 +1,34 @@
+package org.opendaylight.alto.commons.types.converter;
+
+import org.opendaylight.alto.commons.helper.Converter;
+import org.opendaylight.alto.commons.types.model150404.ModelCostMapMeta;
+import org.opendaylight.alto.commons.types.model150404.ModelDependentVtag;
+import org.opendaylight.alto.commons.types.rfc7285.RFC7285CostMap;
+
+public class RFC2ModelCostMapMetaConverter 
+    extends Converter<RFC7285CostMap.Meta, ModelCostMapMeta>{
+
+  public RFC2ModelCostMapMetaConverter() {
+  }
+
+  public RFC2ModelCostMapMetaConverter(RFC7285CostMap.Meta _in) {
+      super(_in);
+  }
+  
+  @Override
+  protected Object _convert() {
+    ModelCostMapMeta modelMeta = new ModelCostMapMeta();
+    
+    ModelDependentVtag dvtag = new ModelDependentVtag();
+    dvtag.rid = in().netmap_tags.get(0).rid;
+    dvtag.vTag = in().netmap_tags.get(0).tag;
+    modelMeta.dependentVtags.add(dvtag);
+    
+    modelMeta.costType.costMetric = in().costType.metric;
+    modelMeta.costType.costMode = in().costType.mode;
+    modelMeta.costType.description = in().costType.description;
+    
+    return modelMeta;
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelEndpointPropMapConverter.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/converter/RFC2ModelEndpointPropMapConverter.java
new file mode 100644 (file)
index 0000000..362354d
--- /dev/null
@@ -0,0 +1,60 @@
+package org.opendaylight.alto.commons.types.converter;
+
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.opendaylight.alto.commons.helper.Converter;
+import org.opendaylight.alto.commons.types.model150404.ModelDependentVtag;
+import org.opendaylight.alto.commons.types.model150404.ModelEndpointProperties;
+import org.opendaylight.alto.commons.types.model150404.ModelEndpointPropertyMap;
+import org.opendaylight.alto.commons.types.model150404.ModelEndpointPropertyMeta;
+import org.opendaylight.alto.commons.types.model150404.ModelProperties;
+import org.opendaylight.alto.commons.types.rfc7285.RFC7285EndpointPropertyMap;
+
+public class RFC2ModelEndpointPropMapConverter 
+  extends Converter<RFC7285EndpointPropertyMap, ModelEndpointPropertyMap> {
+  
+  @Override
+  protected Object _convert() {
+    ModelEndpointPropertyMap out = new ModelEndpointPropertyMap();
+    out.endpointPropertyMeta = convertMeta(in().meta);
+    
+    out.properties = new LinkedList<ModelEndpointProperties>();
+    
+    for (String endpoint : in().map.keySet()) {
+      out.properties.add(convertEndpointProperty(endpoint, in().map.get(endpoint)));
+    }
+    return out;
+  }
+  
+  private ModelEndpointPropertyMeta convertMeta(RFC7285EndpointPropertyMap.Meta meta) {
+    ModelEndpointPropertyMeta endpointPropertyMeta = new ModelEndpointPropertyMeta();
+    
+    endpointPropertyMeta.dependentVtags = new LinkedList<ModelDependentVtag>();
+    ModelDependentVtag dependentVtag = new ModelDependentVtag();
+    dependentVtag.rid = meta.netmap_tags.get(0).rid;
+    dependentVtag.vTag = meta.netmap_tags.get(0).tag;
+    
+    endpointPropertyMeta.dependentVtags.add(dependentVtag);
+    return endpointPropertyMeta;
+  }
+  
+  private ModelEndpointProperties 
+    convertEndpointProperty(String endpoint, Map<String, String> property) {
+      ModelEndpointProperties endpointProperty = new ModelEndpointProperties();
+      endpointProperty.endpoint = endpoint;
+      endpointProperty.properties = new LinkedList<ModelProperties>();
+      for (String propertyType : property.keySet()) {
+        endpointProperty.properties.add(convertProperty(propertyType, property.get(propertyType)));
+      }
+      return endpointProperty;
+  }
+  
+  private ModelProperties convertProperty(String propertyType, String propertyValue) {
+    ModelProperties property = new ModelProperties();
+    property.propertyType = propertyType;
+    property.propertyValue = propertyValue;
+    return property;
+  }
+
+}
index ab050412ac92a230b42fe7e395e1fd6812a08b04..f8db666d3e16d83403de2e88aea02846454dcfe3 100644 (file)
@@ -19,9 +19,9 @@ public class RFC2ModelNetworkMapConverter
     @Override
     public Object _convert() {
         ModelNetworkMap out = new ModelNetworkMap();
-        out.setJSONResourceId(in().meta.vtag.rid);
-        out.setJSONTag(in().meta.vtag.tag);
-        out.setJSONMap(conv.convert(in().map));
+        out.rid = in().meta.vtag.rid;
+        out.tag = in().meta.vtag.tag;
+        out.map = conv.convert(in().map);
         return out;
     }
 }
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMap.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMap.java
new file mode 100644 (file)
index 0000000..577a91f
--- /dev/null
@@ -0,0 +1,60 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.CostMap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.Map;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.Meta;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ResourceId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.TagString;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelCostMap implements CostMap {
+
+  @JsonProperty("alto-service:resource-id")
+  public String rid = null;
+  
+  @JsonProperty("alto-service:tag")
+  public String tag = null;
+  
+  @JsonProperty("alto-service:meta")
+  public ModelCostMapMeta meta = null;
+  
+  @JsonProperty("alto-service:map")
+  public List<ModelCostMapData> map = new LinkedList<ModelCostMapData>();
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return CostMap.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public ResourceId getResourceId() {
+    return new ResourceId(rid);
+  }
+
+  @JsonIgnore
+  @Override
+  public TagString getTag() {
+    return new TagString(tag);
+  }
+
+  @JsonIgnore
+  @Override
+  public Meta getMeta() {
+    return meta;
+  }
+
+  @JsonIgnore
+  @Override
+  public List<Map> getMap() {
+    return new LinkedList<Map>(map);
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapData.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapData.java
new file mode 100644 (file)
index 0000000..74fd088
--- /dev/null
@@ -0,0 +1,54 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.Map;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.MapKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.map.DstCosts;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.PidName;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelCostMapData implements Map {
+
+  @JsonProperty("alto-service:src")
+  public String src = null;
+  
+  @JsonProperty("alto-service:dst-costs")
+  public List<ModelDstCosts> dstCosts = new LinkedList<ModelDstCosts>();
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return Map.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<Map>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public PidName getSrc() {
+    return new PidName(src);
+  }
+
+  @JsonIgnore
+  @Override
+  public List<DstCosts> getDstCosts() {
+    return new LinkedList<DstCosts>(dstCosts);
+  }
+  
+  @JsonIgnore
+  @Override
+  public MapKey getKey() {
+    return new MapKey(getSrc());
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapMeta.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostMapMeta.java
new file mode 100644 (file)
index 0000000..f657e36
--- /dev/null
@@ -0,0 +1,47 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.Meta;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.cost.map.meta.CostType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.dependent.vtags.DependentVtags;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelCostMapMeta implements Meta  {
+
+  @JsonProperty("alto-service:dependent-vtags")
+  public List<ModelDependentVtag> dependentVtags = new LinkedList<ModelDependentVtag>();
+  
+  @JsonProperty("alto-service:cost-type")
+  public ModelCostType costType = null;
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return Meta.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public List<DependentVtags> getDependentVtags() {
+    return new LinkedList<DependentVtags>(dependentVtags);
+  }
+
+  @JsonIgnore
+  @Override
+  public CostType getCostType() {
+    return costType;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<Meta>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostType.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelCostType.java
new file mode 100644 (file)
index 0000000..e184c5d
--- /dev/null
@@ -0,0 +1,63 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.CostMetric;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.CostMetricBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.CostMode;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.cost.map.meta.CostType;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelCostType implements CostType {
+
+  public static final String NUMERICAL = "Numerical";
+  public static final String Ordinal = "Ordinal";
+  
+  @JsonProperty("alto-service:cost-mode")
+  public String costMode = null;
+  
+  @JsonProperty("alto-service:cost-metric")
+  public String costMetric = null;
+  
+  @JsonProperty("alto-service:description")
+  public String description = null;
+  
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return CostType.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<CostType>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public CostMode getCostMode() {
+    switch(costMode) {
+    case NUMERICAL:
+      return CostMode.Numerical;
+    case Ordinal:
+      return CostMode.Ordinal;
+    default:
+      throw new RuntimeException("Non-Supported cost mode."); 
+    }
+  }
+
+  @JsonIgnore
+  @Override
+  public CostMetric getCostMetric() {
+    return CostMetricBuilder.getDefaultInstance(costMetric);
+  }
+
+  @JsonIgnore
+  @Override
+  public String getDescription() {
+    return description;
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDependentVtag.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDependentVtag.java
new file mode 100644 (file)
index 0000000..33abfc3
--- /dev/null
@@ -0,0 +1,52 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ResourceId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.TagString;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.dependent.vtags.DependentVtags;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.dependent.vtags.DependentVtagsKey;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelDependentVtag implements DependentVtags {
+
+  @JsonProperty("alto-service:resource-id")
+  public String rid = null;
+  
+  @JsonProperty("alto-service:tag")
+  public String vTag = null;
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return DependentVtags.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<DependentVtags>> E getAugmentation(
+      Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public ResourceId getResourceId() {
+    return new ResourceId(rid);
+  }
+
+  @JsonIgnore
+  @Override
+  public TagString getTag() {
+    return new TagString(vTag);
+  }
+
+  @JsonIgnore
+  @Override
+  public DependentVtagsKey getKey() {
+    return new DependentVtagsKey(getResourceId());
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDstCosts.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelDstCosts.java
new file mode 100644 (file)
index 0000000..c8defc5
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.map.DstCosts;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.cost.map.map.DstCostsKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.PidName;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelDstCosts implements DstCosts {
+
+  @JsonProperty("alto-service:dst")
+  public String dst = null;
+  
+  @JsonProperty("alto-service:cost")
+  public Object cost = null;
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return DstCosts.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<DstCosts>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public PidName getDst() {
+    return new PidName(dst);
+  }
+
+  @JsonIgnore
+  @Override
+  public DstCostsKey getKey() {
+    return new DstCostsKey(getDst());
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointProperties.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointProperties.java
new file mode 100644 (file)
index 0000000..ff47dc4
--- /dev/null
@@ -0,0 +1,55 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.TypedEndpointAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.EndpointProperties;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.EndpointPropertiesKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.endpoint.properties.Properties;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelEndpointProperties implements EndpointProperties {
+
+  @JsonProperty("alto-service:endpoint")
+  public String endpoint = null;
+  
+  @JsonProperty("alto-service:properties")
+  public List<ModelProperties> properties = new LinkedList<ModelProperties>();
+
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return EndpointProperties.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<EndpointProperties>> E getAugmentation(
+      Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public TypedEndpointAddress getEndpoint() {    
+    return new TypedEndpointAddress(endpoint.toCharArray()); 
+  }
+
+  @JsonIgnore
+  @Override
+  public List<Properties> getProperties() {
+    return new LinkedList<Properties>(properties);
+  }
+
+  @JsonIgnore
+  @Override
+  public EndpointPropertiesKey getKey() {
+    return new EndpointPropertiesKey(getEndpoint());
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMap.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMap.java
new file mode 100644 (file)
index 0000000..aa51781
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.EndpointPropertyMap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.Meta;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.EndpointProperties;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelEndpointPropertyMap implements EndpointPropertyMap {
+
+  @JsonProperty("alto-service:meta")
+  public ModelEndpointPropertyMeta endpointPropertyMeta = null;
+  
+  @JsonProperty("alto-service:endpoint-properties")
+  public List<ModelEndpointProperties> properties = new LinkedList<ModelEndpointProperties>();
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return EndpointPropertyMap.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public List<EndpointProperties> getEndpointProperties() {
+    return new LinkedList<EndpointProperties>(properties);
+  }
+
+  @JsonIgnore
+  @Override
+  public Meta getMeta() {
+    return endpointPropertyMeta;
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMeta.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelEndpointPropertyMeta.java
new file mode 100644 (file)
index 0000000..ee4a67e
--- /dev/null
@@ -0,0 +1,32 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.Meta;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.dependent.vtags.DependentVtags;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelEndpointPropertyMeta implements Meta {
+
+  @JsonProperty("alto-service:dependent-vtags")
+  public List<ModelDependentVtag> dependentVtags = new LinkedList<ModelDependentVtag>();
+  
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return Meta.class;
+  }
+
+  @Override
+  public List<DependentVtags> getDependentVtags() {
+    return new LinkedList<DependentVtags>(dependentVtags);
+  }
+
+  @Override
+  public <E extends Augmentation<Meta>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+}
index 2365ceaa0acefcfd8f7dd1b7c7c6ef8a22f93e11..c8b2dff3537ccd676c990305eb68d36852c1c26f 100644 (file)
@@ -13,7 +13,15 @@ public class ModelJSONMapper {
                             .disable(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES);
 
     public ModelNetworkMap asNetworkMap(String json) throws Exception {
-        return mapper.readValue(json, ModelNetworkMap.class);
+      return mapper.readValue(json, ModelNetworkMap.class);
+    }
+    
+    public ModelCostMap asCostMap(String json) throws Exception {
+      return mapper.readValue(json, ModelCostMap.class);
+    }
+    
+    public ModelEndpointPropertyMap asEndpointPropMap(String json) throws Exception {
+      return mapper.readValue(json, ModelEndpointPropertyMap.class);
     }
 
     public ModelEndpoint asModelEndpoint(String json) throws IOException {
index e7f9b3d734328530f181542f5e4260663bf752ce..ffa3caced50aa79f041005dfef8138b1a58bb545 100644 (file)
@@ -13,23 +13,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class ModelNetworkMap implements NetworkMap {
 
-    @JsonIgnore
-    protected ResourceId rid = null;
-
-    @JsonIgnore
-    protected TagString tag = null;
-
-    @JsonIgnore
-    protected List<Map> data = new LinkedList<Map>();
+    
+    @JsonProperty("alto-service:resource-id")
+    public String rid = null;
 
-    public ModelNetworkMap() {
-    }
+    @JsonProperty("alto-service:tag")
+    public String tag = null;
 
-    public ModelNetworkMap(NetworkMap map) {
-        this.rid = map.getResourceId();
-        this.tag = map.getTag();
-        this.setMap(map.getMap());
-    }
+    @JsonProperty("alto-service:map")
+    public List<ModelEndpoint> map = new LinkedList<ModelEndpoint>();
 
     @JsonIgnore
     @Override
@@ -40,53 +32,18 @@ public class ModelNetworkMap implements NetworkMap {
     @JsonIgnore
     @Override
     public ResourceId getResourceId() {
-        return rid;
-    }
-
-    @JsonProperty("alto-service:resource-id")
-    public String getJSONResourceId() {
-        return rid.getValue();
-    }
-
-    @JsonProperty("alto-service:resource-id")
-    public void setJSONResourceId(String rid) {
-        this.rid = new ResourceId(rid);
+        return new ResourceId(rid);
     }
 
     @JsonIgnore
     @Override
     public TagString getTag() {
-        return tag;
-    }
-
-    @JsonProperty("alto-service:tag")
-    public String getJSONTag() {
-        return tag.getValue();
-    }
-
-    @JsonProperty("alto-service:tag")
-    public void setJSONTag(String tag) {
-        this.tag = new TagString(tag);
+        return new TagString(tag);
     }
 
     @JsonIgnore
     @Override
     public List<Map> getMap() {
-        return data;
-    }
-
-    @JsonIgnore
-    public void setMap(List<Map> data) {
-        this.data = new LinkedList<Map>(data);
-    }
-
-    @JsonProperty("alto-service:map")
-    public List<Map> getJSONMap() {
-        return data;
-    }
-
-    @JsonProperty("alto-service:map")
-    public void setJSONMap(List<ModelEndpoint> data) {
-        this.data = new LinkedList<Map>(data);
+        return new LinkedList<Map>(map);
     }
 }
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelProperties.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/model150404/ModelProperties.java
new file mode 100644 (file)
index 0000000..001a825
--- /dev/null
@@ -0,0 +1,51 @@
+package org.opendaylight.alto.commons.types.model150404;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.EndpointPropertyType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.EndpointPropertyValue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.endpoint.properties.Properties;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.property.map.data.endpoint.properties.PropertiesKey;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ModelProperties implements Properties {
+
+  @JsonProperty("alto-service:property-type")
+  public String propertyType = null;
+  
+  @JsonProperty("alto-service:property")
+  public String propertyValue = null;
+  
+  @JsonIgnore
+  @Override
+  public Class<? extends DataContainer> getImplementedInterface() {
+    return Properties.class;
+  }
+
+  @JsonIgnore
+  @Override
+  public <E extends Augmentation<Properties>> E getAugmentation(Class<E> arg0) {
+    return null;
+  }
+
+  @JsonIgnore
+  @Override
+  public EndpointPropertyType getPropertyType() {
+    return new EndpointPropertyType(propertyType.toCharArray());
+  }
+
+  @JsonIgnore
+  @Override
+  public EndpointPropertyValue getProperty() {
+    return new EndpointPropertyValue(propertyValue);
+  }
+
+  @JsonIgnore
+  @Override
+  public PropertiesKey getKey() {
+    return new PropertiesKey(getPropertyType());
+  }
+
+}
diff --git a/alto-commons/src/main/java/org/opendaylight/alto/commons/types/rfc7285/RFC7285EndpointPropertyMap.java b/alto-commons/src/main/java/org/opendaylight/alto/commons/types/rfc7285/RFC7285EndpointPropertyMap.java
new file mode 100644 (file)
index 0000000..7a13b83
--- /dev/null
@@ -0,0 +1,22 @@
+package org.opendaylight.alto.commons.types.rfc7285;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class RFC7285EndpointPropertyMap {
+  
+  public static class Meta extends Extensible {
+    @JsonProperty("dependent-vtags")
+    public List<RFC7285VersionTag> netmap_tags;
+  }
+  
+  @JsonProperty("meta")
+  public Meta meta;
+  
+  @JsonProperty("endpoint-properties")
+  public Map<String, Map<String, String>> map
+    = new LinkedHashMap<String, Map<String, String>>(); 
+}
index 286e79e38ba8dfdfe6138eca28ec491011790dfe..2b4ec2d44e252180a7d9a30601d54e6c3d5f0075 100644 (file)
@@ -65,6 +65,10 @@ public class RFC7285JSONMapper {
     public RFC7285VersionTag asVersionTag(String json) throws Exception {
         return mapper.readValue(json, RFC7285VersionTag.class);
     }
+    
+    public RFC7285EndpointPropertyMap asEndpointPropMap(String json) throws Exception {
+      return mapper.readValue(json, RFC7285EndpointPropertyMap.class);
+  }
 
     public String asJSON(Object obj) throws Exception {
         return mapper.writeValueAsString(obj);
index ca2d84c163c6e2a9b9ccb394857b2ed88ae2a9c3..1d9b662d522469fa2e913ac8f51ca50c42de3197 100644 (file)
@@ -1,14 +1,16 @@
 package org.opendaylight.alto.manager;
 
-import java.io.IOException;
-
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
+import org.opendaylight.alto.commons.types.converter.RFC2ModelCostMapConverter;
+import org.opendaylight.alto.commons.types.converter.RFC2ModelEndpointPropMapConverter;
 import org.opendaylight.alto.commons.types.converter.RFC2ModelNetworkMapConverter;
+import org.opendaylight.alto.commons.types.model150404.ModelCostMap;
+import org.opendaylight.alto.commons.types.model150404.ModelEndpointPropertyMap;
 import org.opendaylight.alto.commons.types.model150404.ModelJSONMapper;
-import org.opendaylight.alto.commons.types.rfc7285.RFC7285CostMap;
+import org.opendaylight.alto.commons.types.model150404.ModelNetworkMap;
 import org.opendaylight.alto.commons.types.rfc7285.RFC7285JSONMapper;
-import org.opendaylight.alto.commons.types.rfc7285.RFC7285NetworkMap;
+import org.opendaylight.alto.manager.AltoManagerConstants.MAP_FORMAT_TYPE;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -18,8 +20,12 @@ public class AltoCreate extends AltoManager {
   
   private RFC7285JSONMapper rfcMapper = new RFC7285JSONMapper();
   private ModelJSONMapper modelMapper = new ModelJSONMapper();
-  private RFC2ModelNetworkMapConverter converter = new RFC2ModelNetworkMapConverter();
+  private RFC2ModelNetworkMapConverter networkMapConverter = new RFC2ModelNetworkMapConverter();
+  private RFC2ModelCostMapConverter costMapConverter = new RFC2ModelCostMapConverter();
+  private RFC2ModelEndpointPropMapConverter endpointPropConverter = new RFC2ModelEndpointPropMapConverter();
+
   private String data;
+  private MAP_FORMAT_TYPE format = MAP_FORMAT_TYPE.YANG;
   
   @Argument(index = 0, name = "resource-type", description = "Resource Type", required = true, multiValued = false)
   String resourceType = null;
@@ -47,45 +53,59 @@ public class AltoCreate extends AltoManager {
   
   private void putNetworkMap() throws Exception {
     log.info("Loading network map from " + this.resourceFile);
-    RFC7285NetworkMap rfcNetworkMap = rfcMapper.asNetworkMap(readFromFile(resourceFile));
-    data = createNetworkMapData(rfcNetworkMap);
-    putMap(AltoManagerConstants.NETWORK_MAP_URL, rfcNetworkMap.meta.vtag.rid);
+    ModelNetworkMap networkMap = getYangNetworkMap(readFromFile(resourceFile));
+    data = modelMapper.asJSON(networkMap);
+    putMap(AltoManagerConstants.NETWORK_MAP_URL, networkMap.rid);
   }
   
-  private String createNetworkMapData(RFC7285NetworkMap rfcNetworkMap) throws Exception {
-    String networkMapJson = modelMapper.asJSON(converter.convert(rfcNetworkMap));
-    return "{\"alto-service:network-map\":[" + networkMapJson + "]}";
+  private ModelNetworkMap getYangNetworkMap(String data) throws Exception {
+    if (MAP_FORMAT_TYPE.RFC.equals(format)) {
+      return networkMapConverter.convert(rfcMapper.asNetworkMap(data));
+    }
+    return modelMapper.asNetworkMap(data);
   }
   
   private void putCostMap() throws Exception {
     log.info("Loading cost map from " + this.resourceFile);
-    RFC7285CostMap costMap = rfcMapper.asCostMap(readFromFile(resourceFile));
-    String resourceId = getCostMapResourceId(costMap);
-    //TODO: transform it to yang format json
-    data = "";
-    putMap(AltoManagerConstants.COST_MAP_URL, resourceId);
+    ModelCostMap costMap = getYangCostMap(data);
+    data = modelMapper.asJSON(costMap);
+    putMap(AltoManagerConstants.COST_MAP_URL, costMap.rid);
+  }
+  
+  private ModelCostMap getYangCostMap(String data) throws Exception {
+    if (MAP_FORMAT_TYPE.RFC.equals(format)) {
+      return costMapConverter.convert(rfcMapper.asCostMap(data));
+    }
+    return modelMapper.asCostMap(data);
   }
   
-  private void putEndpointPropertyMap() throws IOException {
+  private void putEndpointPropertyMap() throws Exception {
     log.info("Loading endpoint property map from " + this.resourceFile);
-    //TODO: get RFC7285EndpointPropertyMap object and transform it to yang format json
-    data = "";
-    putMap(AltoManagerConstants.ENDPOINT_PROPERTY_MAP_URL, AltoManagerConstants.ENDPOINT_PROPERTY_MAP_NAME);
+    ModelEndpointPropertyMap endpointPropMap = getYangEndpointPropMap(readFromFile(resourceFile));
+    data = modelMapper.asJSON(endpointPropMap);
+    putMap(AltoManagerConstants.RESOURCES_URL, AltoManagerConstants.ENDPOINT_PROPERTY_MAP_NODE);
   }
   
-  private void putMap(String baseUrl, String resourceId) throws IOException {
+  private ModelEndpointPropertyMap getYangEndpointPropMap(String data) throws Exception {
+    if (MAP_FORMAT_TYPE.RFC.equals(format)) {
+       endpointPropConverter.convert(rfcMapper.asEndpointPropMap(data));
+    }
+    return modelMapper.asEndpointPropMap(data);
+  }
+  
+  private void putMap(String baseUrl, String resourceId) throws Exception {
     if (resourceId == null) {
       log.info("Cannot parse resourceId. Aborting");
       return;
     }
-    httpPut(baseUrl + resourceId, data);
+    httpPut(baseUrl + resourceId, wrapdata());
   }
   
-  private String getCostMapResourceId(RFC7285CostMap costMap) throws Exception {
-    String networkMapRID = costMap.meta.netmap_tags.get(0).rid;
-    String costMetric = costMap.meta.costType.metric;
-    String costMode = costMap.meta.costType.mode;
-    return networkMapRID + AltoManagerConstants.DELIMETER + costMetric
-         + AltoManagerConstants.DELIMETER + costMode;
+  private String wrapdata() throws Exception {
+    if (endpointPropertyMapType().equals(resourceType)) {
+      return "{\"alto-service:resourceType\":" + data + "}";
+    } else {
+      return "{\"alto-service:resourceType\":[" + data + "]}";
+    }
   }
 }
index 71a0b55ddc1c0dd5f005900c0517d20e0b37a21e..9352f703c693dc26a5ba35239f7a9b809feba4c6 100644 (file)
@@ -41,7 +41,7 @@ public class AltoDelete extends AltoManager {
   
   private boolean deleteEndpointPropertyMap() throws IOException {
     log.info("Deleting endpoint property map " + this.resourceId);
-    return httpDelete(AltoManagerConstants.ENDPOINT_PROPERTY_MAP_URL + resourceId);
+    return httpDelete(AltoManagerConstants.RESOURCES_URL + AltoManagerConstants.ENDPOINT_PROPERTY_MAP_NODE);
   }
   
   private boolean deleteCostMap() throws IOException {
index 0cdaeb280c9c79c8fdf209c6e5b204323aa1cfd3..d1a821524ce8835400a559b9b08d49cd49f9f269 100644 (file)
@@ -20,10 +20,8 @@ public class AltoManagerConstants {
   public static final String RESOURCES_URL = HOST + RESOURCES_NODE + "/";
   public static final String NETWORK_MAP_URL = RESOURCES_URL + NETWORK_MAPS_NODE + "/" + NETWORK_MAP_NODE + "/";
   public static final String COST_MAP_URL = RESOURCES_URL + COST_MAPS_NODE + "/" + COST_MAP_NODE + "/";
-  public static final String ENDPOINT_PROPERTY_MAP_URL = RESOURCES_URL + ENDPOINT_PROPERTY_MAP_NODE + "/";
   public static final String IRD_DEFAULT_NETWORK_MAP_URL = RESOURCES_URL + IRD_NODE + "/" + META_NODE + "/" + DEFAULT_NETWORK_MAP_NODE + "/";
   
-  public static final String ENDPOINT_PROPERTY_MAP_NAME = "endpoint-property-map";
   public static final String DEFAULT_NETWORK_MAP_PROPERTY = "default-network-map";
   public static final String DELIMETER = "-";
   
@@ -34,4 +32,8 @@ public class AltoManagerConstants {
   public static enum SERVICE_TYPE{
     NETWORK_MAP, COST_MAP, ENDPOINT_PROPERTY_MAP
   }
+  
+  public static enum MAP_FORMAT_TYPE {
+    YANG, RFC
+  }
 }
\ No newline at end of file
index 3b87076df0686a5a7c4ae77c2f1ef4606e9382b1..59e1f3a5d3ff386cc0603e4710677218ea2d18b0 100644 (file)
@@ -13,7 +13,11 @@ package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev1504
 public class EndpointPropertyTypeBuilder {
 
     public static EndpointPropertyType getDefaultInstance(java.lang.String defaultValue) {
-        throw new java.lang.UnsupportedOperationException("Not yet implemented");
+        if (defaultValue.contains(".")) {
+          return new EndpointPropertyType(new ResourceSpecificEndpointProperty(defaultValue));
+        } else {
+          return new EndpointPropertyType(new GlobalEndpointProperty(defaultValue.toCharArray()));
+        }
     }
 
 }
index b562af8168bc16f4fa8a5ad7a80168f62b6d0c5c..4de064e6093c43e32d39d1eab0107991fb66d9e7 100644 (file)
@@ -1,5 +1,7 @@
 package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
 
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.GlobalEndpointProperty.Enumeration;
+
 
 /**
  * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
@@ -13,7 +15,11 @@ package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev1504
 public class GlobalEndpointPropertyBuilder {
 
     public static GlobalEndpointProperty getDefaultInstance(java.lang.String defaultValue) {
-        throw new java.lang.UnsupportedOperationException("Not yet implemented");
+        if ("Pid".equals(defaultValue)) {
+            return new GlobalEndpointProperty(Enumeration.Pid);
+        } else {
+            return new GlobalEndpointProperty(defaultValue);
+        }
     }
 
 }
index 614388f5797848c7508dd72062b0ea7f68ae9538..9c4d9c1037801b69c70b1d52b0d0740ab893916b 100644 (file)
@@ -13,7 +13,12 @@ package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev1504
 public class TypedEndpointAddressBuilder {
 
     public static TypedEndpointAddress getDefaultInstance(java.lang.String defaultValue) {
-        throw new java.lang.UnsupportedOperationException("Not yet implemented");
+        if (defaultValue.startsWith("ipv4")) {
+            return new TypedEndpointAddress(new TypedIpv4Address(defaultValue));
+        } else if (defaultValue.startsWith("ipv6")) {
+            return new TypedEndpointAddress(new TypedIpv6Address(defaultValue));
+        }
+        throw new java.lang.UnsupportedOperationException("Wrong TypedEndpointAddress type");
     }
 
 }