*.class
+*.swp
**/target
bin/
dist
--- /dev/null
+/*
+ * Copyright (c) 2015 Yale University and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.alto.commons.types.alto.model.rev150404;
+
+class MediaType {
+
+ /** The media types generated by alto-model
+ * */
+
+ public static final String ALTO_DIRECTORY
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoDirectory
+ ).toString();
+
+ public static final String ALTO_NETWORKMAP
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoNetworkmap
+ ).toString();
+
+ public static final String ALTO_NETWORKMAP_FILTER
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoNetworkmapfilter
+ ).toString();
+
+ public static final String ALTO_COSTMAP
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoCostmap
+ ).toString();
+
+ public static final String ALTO_COSTMAP_FILTER
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoCostmapfilter
+ ).toString();
+
+ public static final String ALTO_ENDPOINT_PROP
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoEndpointprop
+ ).toString();
+
+ public static final String ALTO_ENDPOINT_PROPPARAMS
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoEndpointpropparams
+ ).toString();
+
+ public static final String ALTO_ENDPOINT_COST
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoEndpointcost
+ ).toString();
+
+ public static final String ALTO_ENDPOST_COSTPARAMS
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoEndpointcostparams
+ ).toString();
+
+ public static final String ALTO_ERROR
+ = new org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType.Enumeration.AltoError
+ ).toString();
+
+}
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
-package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101;
+package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404;
/**
+++ /dev/null
-module alto-service-did {
- yang-version 1;
-
- namespace "urn:opendaylight:alto-service-did";
- // TODO: replace with IANA namespace when assigned
-
- prefix "as-did";
-
- import alto-service-types {
- prefix alto;
- }
-
- organization "ALTO WG";
- contact "alto@ietf.org";
-
- description
- "This module defines the data instance descriptions (DID) of a
- semantically equivalent data model for the ALTO services
- defined in RFC7285.";
-
- revision 2014-11-01 {
- description "Inherit from alto-service-rpc and types.";
- }
-
- revision 2014-10-24 {
- description "Initial version.";
- }
-
- /******************************************
- Groupings for ALTO information resource
- *******************************************/
-
- grouping network-map-data {
- list map {
- key "pid";
- leaf pid {
- type alto:pid-name;
- }
- uses alto:endpoint-address-group;
- }
- }
-
- /* Network Map Grouping */
- grouping network-map {
- leaf resource-id {
- type alto:resource-id;
- mandatory true;
- }
- leaf tag {
- type alto:tag-string;
- mandatory true;
- }
- uses network-map-data;
- }
-
- grouping cost-map-data {
- list map {
- leaf src {
- type alto:pid-name;
- }
- key "src";
- list dst-costs {
- leaf dst {
- type alto:pid-name;
- }
- key "dst";
- uses alto:alto-cost;
- }
- }
- }
-
- /* Cost Map Grouping */
- grouping cost-map {
- leaf resource-id {
- type alto:resource-id;
- mandatory true;
- }
- leaf tag {
- type alto:tag-string;
- mandatory true;
- }
- container meta {
- must "current()";
- uses alto:cost-map-meta;
- }
- uses cost-map-data;
- }
-
- grouping alto-resources {
- container IRD {
- config false;
- uses alto:IRD;
- }
-
- container network-maps {
- config false;
- list network-map {
- key "resource-id";
- uses network-map;
- }
- }
-
- container cost-maps {
- config false;
- list cost-map {
- key "resource-id";
- uses cost-map;
- }
- }
-
- container endpoint-property-map {
- config false;
- uses alto:endpoint-property-map;
- }
- }
-
- /****************************************************
- DATA INSTANCES of all ALTO information resources
-
- unfiltered network-maps, unfiltered cost-maps are all instances
- of resources. IRD is also modeled as data.
-
- The design uses augment as the basic approach to implement
- inheritance.
- ****************************************************/
-/*
- container resources {
- config false;
- uses alto-resources;
- }
-*/
-}
"This module defines the data types and groupings for a semantically
equivalent data model for the ALTO services defined in RFC7285.";
+ revision 2015-04-04 {
+ description "Interop with RFC7285";
+ }
+
revision 2014-11-01 {
description "Separate types module";
}
"This module defines a data model for the ALTO services
using restconf. Note this is not interop with RFC7285.";
+ revision 2015-04-04 {
+ description "Fix IRD";
+ }
+
revision 2014-11-19 {
description "Initial version for ODL.";
}
//presence "Indicates that the alto service is available.";
container IRD {
- container meta {
- uses alto:IRD-meta;
- }
- uses alto:IRD-data;
+ uses alto:IRD;
}
container network-maps {
import org.opendaylight.alto.commons.types.rfc7285.MediaType;
import org.opendaylight.alto.services.api.IRDService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.IRD;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-//import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.NetworkMap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.IRD;
-
-import javax.ws.rs.Path;
import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
+import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
@Path("/")
public class AltoNorthbound {
package org.opendaylight.alto.northbound;
+import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
-import javax.ws.rs.core.Application;
-
public class AltoNorthboundRSApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
package org.opendaylight.alto.northbound;
import org.opendaylight.alto.services.api.IRDService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.IRD;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.did.rev141101.alto.resources.IRDBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ird.MetaBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.cost.types.CostTypes;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.cost.types.CostTypesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.cost.types.CostTypesKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.CostTypeName;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.CostMode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.CostMetric;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ird.data.Resources;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ird.data.ResourcesKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ird.data.ResourcesBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.MediaType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ResourceId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.IRD;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.IRDBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.CostTypeName;
+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.CostMode;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.MediaType;
+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.cost.types.CostTypes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.cost.types.CostTypesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.cost.types.CostTypesKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ird.MetaBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ird.data.Resources;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ird.data.ResourcesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ird.data.ResourcesKey;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
class FakeAltoService implements IRDService {
@Override
cost_types.add(cb.setCostTypeName(name).setCostMetric(metric).setCostMode(mode).setKey(ckey).build());
irdb.setMeta(mb.setCostTypes(cost_types).build());
-
List<Resources> resources = new ArrayList<Resources>();
ResourcesBuilder rb = new ResourcesBuilder();
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.provider.impl.rev141119.OpendaylightAlto;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.AltoServiceService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.AltoServiceService;
public class AltoProviderModule extends org.opendaylight.controller.config.yang.config.alto_provider.impl.AbstractAltoProviderModule {
public AltoProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
package org.opendaylight.yang.gen.v1.urn.opendaylight.alto.provider.impl.rev141119;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.atomic.AtomicLong;
-
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.AsyncFunction;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.controller.config.yang.config.alto_provider.impl.AltoProviderRuntimeMXBean;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.*;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.filtered.network.map.service.output.FilteredNetworkMapService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.filtered.network.map.service.output.FilteredNetworkMapServiceBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.NetworkMaps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.NetworkMapsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.network.maps.NetworkMap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.network.maps.NetworkMapBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.resources.network.maps.NetworkMapKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.network.map.Map;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.network.map.MapBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.EndpointAddressType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.PidName;
+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.endpoint.address.group.EndpointAddressGroup;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.endpoint.address.group.EndpointAddressGroupBuilder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.EndpointCostServiceInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.EndpointCostServiceOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.EndpointPropertyServiceInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.EndpointPropertyServiceOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.FilteredCostMapServiceInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.FilteredCostMapServiceOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.FilteredNetworkMapServiceInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.FilteredNetworkMapServiceOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.FilteredNetworkMapServiceOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.Resources;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.ResourcesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.AltoServiceService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.filtered.network.map.service.output.FilteredNetworkMapService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.filtered.network.map.service.output.FilteredNetworkMapServiceBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.resources.NetworkMaps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.resources.NetworkMapsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.resources.network.maps.NetworkMap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.resources.network.maps.NetworkMapBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev141119.resources.network.maps.NetworkMapKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.did.rev141101.network.map.data.Map;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.did.rev141101.network.map.data.MapBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.EndpointAddressType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.PidName;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ResourceId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.TagString;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.endpoint.address.group.EndpointAddressGroup;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.endpoint.address.group.EndpointAddressGroupBuilder;
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.AsyncFunction;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.atomic.AtomicLong;
public class OpendaylightAlto implements AltoServiceService,
AltoProviderRuntimeMXBean, DataChangeListener, AutoCloseable {
private Resources buildResources() {
return new ResourcesBuilder().setNetworkMaps(buildDummyNetworkMaps())
- .setTeststring("TestAltoRestconfDIDWired")
- .setTestdatastring("tstdatastring")
.setNetworkMaps(buildDummyNetworkMaps()).build();
}
return null;
}
- @Override
- public Future<RpcResult<EndpointPropertyServiceOutput>> endpointPropertyService(
- EndpointPropertyServiceInput input) {
- // TODO Auto-generated method stub
- return null;
- }
-
@Override
public Future<RpcResult<FilteredCostMapServiceOutput>> filteredCostMapService(
FilteredCostMapServiceInput input) {
package org.opendaylight.alto.services.api;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.IRD;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ird.data.Resources;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev141101.ResourceId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.IRD;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ird.data.Resources;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.alto.service.types.rev150404.ResourceId;
public interface IRDService {