Remove deprecated interface, its implementation and CLIs
Change-Id: Id644a8cd07abd6e0ece6392790943d401a81d180
diff --git a/cli/src/main/java/org/onosproject/cli/net/LinkResourceTestCommand.java b/cli/src/main/java/org/onosproject/cli/net/LinkResourceTestCommand.java
deleted file mode 100644
index f372f9c..0000000
--- a/cli/src/main/java/org/onosproject/cli/net/LinkResourceTestCommand.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.cli.net;
-
-import com.google.common.collect.Lists;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Link;
-import org.onosproject.net.Path;
-import org.onosproject.net.intent.IntentId;
-import org.onosproject.net.resource.link.DefaultLinkResourceRequest;
-import org.onosproject.net.resource.link.LinkResourceAllocations;
-import org.onosproject.net.resource.link.LinkResourceRequest;
-import org.onosproject.net.resource.link.LinkResourceService;
-import org.onosproject.net.topology.PathService;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * Commands to test out LinkResourceManager directly.
- *
- * @deprecated in Emu release
- */
-@Deprecated
-@Command(scope = "onos", name = "resource-request",
- description = "request or remove resources"
- + "[Using deprecated LinkResourceService]")
-public class LinkResourceTestCommand extends AbstractShellCommand {
-
- // default is bandwidth.
- @Option(name = "-m", aliases = "--mpls", description = "MPLS resource",
- required = false, multiValued = false)
- private boolean isMpls = false;
-
- @Option(name = "-o", aliases = "--optical", description = "Optical resource",
- required = false, multiValued = false)
- private boolean isOptical = false;
-
- @Option(name = "-d", aliases = "--delete", description = "Delete resource by intent ID",
- required = false, multiValued = false)
- private boolean remove = false;
-
- @Argument(index = 0, name = "srcString", description = "Link source",
- required = true, multiValued = false)
- String srcString = null;
-
- @Argument(index = 1, name = "dstString", description = "Link destination",
- required = true, multiValued = false)
- String dstString = null;
-
- @Argument(index = 2, name = "id", description = "Identifier",
- required = true, multiValued = false)
- int id;
-
- private LinkResourceService resService;
- private PathService pathService;
-
- private static final int BANDWIDTH = 1_000_000;
-
- @Override
- protected void execute() {
- resService = get(LinkResourceService.class);
- pathService = get(PathService.class);
-
- DeviceId src = DeviceId.deviceId(getDeviceId(srcString));
- DeviceId dst = DeviceId.deviceId(getDeviceId(dstString));
- IntentId intId = IntentId.valueOf(id);
-
- Set<Path> paths = pathService.getPaths(src, dst);
-
- if (paths == null || paths.isEmpty()) {
- print("No path between %s and %s", srcString, dstString);
- return;
- }
-
- if (remove) {
- LinkResourceAllocations lra = resService.getAllocations(intId);
- resService.releaseResources(lra);
- return;
- }
-
- for (Path p : paths) {
- List<Link> links = p.links();
- LinkResourceRequest.Builder request = null;
- if (isMpls) {
- List<Link> nlinks = Lists.newArrayList();
- try {
- nlinks.addAll(links.subList(1, links.size() - 2));
- request = DefaultLinkResourceRequest.builder(intId, nlinks)
- .addMplsRequest();
- } catch (IndexOutOfBoundsException e) {
- log.warn("could not allocate MPLS path", e);
- continue;
- }
- } else if (isOptical) {
- request = DefaultLinkResourceRequest.builder(intId, links)
- .addLambdaRequest();
- } else {
- request = DefaultLinkResourceRequest.builder(intId, links)
- .addBandwidthRequest(BANDWIDTH);
- }
-
- if (request != null) {
- LinkResourceRequest lrr = request.build();
- LinkResourceAllocations lra = resService.requestResources(lrr);
- if (lra != null) {
- break;
- }
- print("Allocated:\n%s", lra);
- } else {
- log.info("nothing to request");
- }
- }
- }
-
- public String getDeviceId(String deviceString) {
- int slash = deviceString.indexOf('/');
- if (slash <= 0) {
- return "";
- }
- return deviceString.substring(0, slash);
- }
-
-}
diff --git a/cli/src/main/java/org/onosproject/cli/net/ResourceAllocationsCommand.java b/cli/src/main/java/org/onosproject/cli/net/ResourceAllocationsCommand.java
deleted file mode 100644
index 968781f..0000000
--- a/cli/src/main/java/org/onosproject/cli/net/ResourceAllocationsCommand.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.cli.net;
-
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.Link;
-import org.onosproject.net.link.LinkService;
-import org.onosproject.net.resource.link.LinkResourceService;
-
-/**
- * Lists allocations by link. Lists all allocations if link is unspecified.
- *
- * @deprecated in Emu release
- */
-@Deprecated
-@Command(scope = "onos", name = "resource-allocations",
- description = "Lists allocations by link. Lists all allocations if link is unspecified."
- + "[Using deprecated LinkResourceService]")
-public class ResourceAllocationsCommand extends AbstractShellCommand {
-
- private static final String FMT = "src=%s/%s, dst=%s/%s, type=%s%s";
- private static final String COMPACT = "%s/%s-%s/%s";
-
- @Argument(index = 0, name = "srcString", description = "Link source",
- required = false, multiValued = false)
- String srcString = null;
- @Argument(index = 1, name = "dstString", description = "Link destination",
- required = false, multiValued = false)
- String dstString = null;
-
- @Override
- protected void execute() {
- LinkResourceService resourceService = get(LinkResourceService.class);
- LinkService linkService = get(LinkService.class);
-
- if (srcString == null || dstString == null) {
- print("----- Displaying all resource allocations -----");
- resourceService.getAllocations().forEach(alloc -> print("%s", alloc));
- return;
- }
-
- ConnectPoint src = ConnectPoint.deviceConnectPoint(srcString);
- ConnectPoint dst = ConnectPoint.deviceConnectPoint(dstString);
-
- Link link = linkService.getLink(src, dst);
- if (link != null) {
- resourceService.getAllocations(link).forEach(alloc -> print("%s", alloc));
- } else {
- print("No path found for endpoints: %s, %s", src, dst);
- }
- }
-}
diff --git a/cli/src/main/java/org/onosproject/cli/net/ResourceAvailableCommand.java b/cli/src/main/java/org/onosproject/cli/net/ResourceAvailableCommand.java
deleted file mode 100644
index 007eb12..0000000
--- a/cli/src/main/java/org/onosproject/cli/net/ResourceAvailableCommand.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.cli.net;
-
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.Link;
-import org.onosproject.net.link.LinkService;
-import org.onosproject.net.resource.link.LinkResourceService;
-import org.onosproject.net.resource.ResourceRequest;
-
-/**
- * Lists allocations by link.
- *
- * @deprecated in Emu release
- */
-@Deprecated
-@Command(scope = "onos", name = "resource-available",
- description = "Lists available resources by link"
- + "[Using deprecated LinkResourceService]")
-public class ResourceAvailableCommand extends AbstractShellCommand {
-
- private static final String FMT = "src=%s/%s, dst=%s/%s, type=%s%s";
- private static final String COMPACT = "%s/%s-%s/%s";
-
- @Argument(index = 0, name = "srcString", description = "Link source",
- required = false, multiValued = false)
- String srcString = null;
- @Argument(index = 1, name = "dstString", description = "Link destination",
- required = false, multiValued = false)
- String dstString = null;
-
- @Override
- protected void execute() {
- LinkResourceService resourceService = get(LinkResourceService.class);
- LinkService linkService = get(LinkService.class);
-
- Iterable<ResourceRequest> itr = null;
- try {
- ConnectPoint src = ConnectPoint.deviceConnectPoint(srcString);
-
- ConnectPoint dst = ConnectPoint.deviceConnectPoint(dstString);
-
- Link link = linkService.getLink(src, dst);
-
- itr = resourceService.getAvailableResources(link);
-
- int lambdaCount = 0;
- for (ResourceRequest req : itr) {
- switch (req.type()) {
- case LAMBDA:
- lambdaCount++;
- break;
- case BANDWIDTH:
- print("%s", req);
- break;
- default:
- break;
- }
- }
- if (lambdaCount > 0) {
- print("Number of available lambdas: %d", lambdaCount);
- }
-
- } catch (Exception e) {
- print("Invalid link %s", e.getMessage());
- }
- }
-}
diff --git a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
index 9aa0b89..f110960 100644
--- a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
+++ b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
@@ -368,29 +368,6 @@
</completers>
</command>
- <!-- Should deprecate following 3 commands soon. -->
- <command>
- <action class="org.onosproject.cli.net.ResourceAllocationsCommand"/>
- <completers>
- <ref component-id="connectPointCompleter"/>
- <ref component-id="connectPointCompleter"/>
- </completers>
- </command>
- <command>
- <action class="org.onosproject.cli.net.ResourceAvailableCommand"/>
- <completers>
- <ref component-id="connectPointCompleter"/>
- <ref component-id="connectPointCompleter"/>
- </completers>
- </command>
- <command>
- <action class="org.onosproject.cli.net.LinkResourceTestCommand"/>
- <completers>
- <ref component-id="connectPointCompleter"/>
- <ref component-id="connectPointCompleter"/>
- <null/>
- </completers>
- </command>
<command>
<action class="org.onosproject.cli.net.ClustersListCommand"/>
</command>
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/LinkResourceService.java b/core/api/src/main/java/org/onosproject/net/resource/link/LinkResourceService.java
deleted file mode 100644
index 71ea7e1..0000000
--- a/core/api/src/main/java/org/onosproject/net/resource/link/LinkResourceService.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.net.resource.link;
-
-import org.onosproject.event.ListenerService;
-import org.onosproject.net.Link;
-import org.onosproject.net.intent.IntentId;
-import org.onosproject.net.resource.ResourceRequest;
-
-/**
- * Service for providing link resource allocation.
- *
- * @deprecated in Emu Release
- */
-@Deprecated
-public interface LinkResourceService
- extends ListenerService<LinkResourceEvent, LinkResourceListener> {
-
- /**
- * Requests resources.
- *
- * @param req resources to be allocated
- * @return allocated resources
- * @deprecated in Emu Release
- */
- @Deprecated
- LinkResourceAllocations requestResources(LinkResourceRequest req);
-
- /**
- * Releases resources.
- *
- * @param allocations resources to be released
- * @deprecated in Emu Release
- */
- @Deprecated
- void releaseResources(LinkResourceAllocations allocations);
-
- /**
- * Updates previously made allocations with a new resource request.
- *
- * @param req updated resource request
- * @param oldAllocations old resource allocations
- * @return new resource allocations
- * @deprecated in Emu Release
- */
- @Deprecated
- LinkResourceAllocations updateResources(LinkResourceRequest req,
- LinkResourceAllocations oldAllocations);
-
- /**
- * Returns all allocated resources.
- *
- * @return allocated resources
- * @deprecated in Emu Release
- */
- @Deprecated
- Iterable<LinkResourceAllocations> getAllocations();
-
- /**
- * Returns all allocated resources to given link.
- *
- * @param link a target link
- * @return allocated resources
- * @deprecated in Emu Release
- */
- @Deprecated
- Iterable<LinkResourceAllocations> getAllocations(Link link);
-
- /**
- * Returns the resources allocated for an Intent.
- *
- * @param intentId the target Intent's id
- * @return allocated resources for Intent
- * @deprecated in Emu Release
- */
- @Deprecated
- LinkResourceAllocations getAllocations(IntentId intentId);
-
- /**
- * Returns available resources for given link.
- *
- * @param link a target link
- * @return available resources for the target link
- * @deprecated in Emu Release
- */
- @Deprecated
- Iterable<ResourceRequest> getAvailableResources(Link link);
-
- /**
- * Returns available resources for given link.
- *
- * @param link a target link
- * @param allocations allocations to be included as available
- * @return available resources for the target link
- * @deprecated in Emu Release
- */
- @Deprecated
- Iterable<ResourceRequest> getAvailableResources(Link link,
- LinkResourceAllocations allocations);
-
-}
diff --git a/core/net/src/main/java/org/onosproject/net/resource/impl/LinkResourceManager.java b/core/net/src/main/java/org/onosproject/net/resource/impl/LinkResourceManager.java
deleted file mode 100644
index 7eb189e..0000000
--- a/core/net/src/main/java/org/onosproject/net/resource/impl/LinkResourceManager.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2014-2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.net.resource.impl;
-
-import com.google.common.collect.Sets;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.Service;
-import org.onosproject.event.AbstractListenerManager;
-import org.onosproject.net.Link;
-import org.onosproject.net.intent.IntentId;
-import org.onosproject.net.resource.ResourceAllocation;
-import org.onosproject.net.resource.ResourceRequest;
-import org.onosproject.net.resource.ResourceType;
-import org.onosproject.net.resource.link.BandwidthResourceAllocation;
-import org.onosproject.net.resource.link.BandwidthResourceRequest;
-import org.onosproject.net.resource.link.DefaultLinkResourceAllocations;
-import org.onosproject.net.resource.link.LambdaResourceAllocation;
-import org.onosproject.net.resource.link.LambdaResourceRequest;
-import org.onosproject.net.resource.link.LinkResourceAllocations;
-import org.onosproject.net.resource.link.LinkResourceEvent;
-import org.onosproject.net.resource.link.LinkResourceListener;
-import org.onosproject.net.resource.link.LinkResourceRequest;
-import org.onosproject.net.resource.link.LinkResourceService;
-import org.onosproject.net.resource.link.LinkResourceStore;
-import org.onosproject.net.resource.link.LinkResourceStoreDelegate;
-import org.onosproject.net.resource.link.MplsLabel;
-import org.onosproject.net.resource.link.MplsLabelResourceAllocation;
-import org.onosproject.net.resource.link.MplsLabelResourceRequest;
-import org.slf4j.Logger;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-
-import static org.onosproject.security.AppGuard.checkPermission;
-import static org.slf4j.LoggerFactory.getLogger;
-import static org.onosproject.security.AppPermission.Type.*;
-
-
-/**
- * Provides basic implementation of link resources allocation.
- */
-@Component(immediate = true)
-@Service
-public class LinkResourceManager
- extends AbstractListenerManager<LinkResourceEvent, LinkResourceListener>
- implements LinkResourceService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- private LinkResourceStore store;
-
- @Activate
- public void activate() {
- eventDispatcher.addSink(LinkResourceEvent.class, listenerRegistry);
- log.info("Started");
- }
-
- @Deactivate
- public void deactivate() {
- eventDispatcher.removeSink(LinkResourceEvent.class);
- log.info("Stopped");
- }
-
-
- @Override
- public LinkResourceAllocations requestResources(LinkResourceRequest req) {
- checkPermission(LINK_WRITE);
-
- // TODO Concatenate multiple bandwidth requests.
- // TODO Support multiple lambda resource requests.
- // TODO Throw appropriate exception.
- Set<ResourceAllocation> allocs = new HashSet<>();
- Map<Link, Set<ResourceAllocation>> allocsPerLink = new HashMap<>();
- for (ResourceRequest r : req.resources()) {
- switch (r.type()) {
- case BANDWIDTH:
- BandwidthResourceRequest br = (BandwidthResourceRequest) r;
- allocs.add(new BandwidthResourceAllocation(br.bandwidth()));
- break;
- case LAMBDA:
- LambdaResourceRequest lr = (LambdaResourceRequest) r;
- allocs.add(new LambdaResourceAllocation(lr.lambda()));
- break;
- case MPLS_LABEL:
- for (Link link : req.links()) {
- if (allocsPerLink.get(link) == null) {
- allocsPerLink.put(link, new HashSet<>());
- }
-
- Optional<MplsLabel> label = req.resources(link).stream()
- .filter(x -> x.type() == ResourceType.MPLS_LABEL)
- .map(x -> (MplsLabelResourceRequest) x)
- .map(MplsLabelResourceRequest::mplsLabel)
- .findFirst();
-
- if (label.isPresent()) {
- allocsPerLink.get(link).add(new MplsLabelResourceAllocation(label.get()));
- } else {
- log.info("Failed to allocate MPLS resource.");
- break;
- }
- }
- break;
- default:
- break;
- }
- }
-
- Map<Link, Set<ResourceAllocation>> allocations = new HashMap<>();
- for (Link link : req.links()) {
- allocations.put(link, new HashSet<>(allocs));
- Set<ResourceAllocation> linkAllocs = allocsPerLink.get(link);
- if (linkAllocs != null) {
- allocations.get(link).addAll(linkAllocs);
- }
- }
- LinkResourceAllocations result =
- new DefaultLinkResourceAllocations(req, allocations);
- store.allocateResources(result);
- return result;
-
- }
-
- @Override
- public void releaseResources(LinkResourceAllocations allocations) {
- checkPermission(LINK_WRITE);
- final LinkResourceEvent event = store.releaseResources(allocations);
- if (event != null) {
- post(event);
- }
- }
-
- @Override
- public LinkResourceAllocations updateResources(LinkResourceRequest req,
- LinkResourceAllocations oldAllocations) {
- checkPermission(LINK_WRITE);
- releaseResources(oldAllocations);
- return requestResources(req);
- }
-
- @Override
- public Iterable<LinkResourceAllocations> getAllocations() {
- checkPermission(LINK_READ);
- return store.getAllocations();
- }
-
- @Override
- public Iterable<LinkResourceAllocations> getAllocations(Link link) {
- checkPermission(LINK_READ);
- return store.getAllocations(link);
- }
-
- @Override
- public LinkResourceAllocations getAllocations(IntentId intentId) {
- checkPermission(LINK_READ);
- return store.getAllocations(intentId);
- }
-
- @Override
- public Iterable<ResourceRequest> getAvailableResources(Link link) {
- checkPermission(LINK_READ);
-
- Set<ResourceAllocation> freeRes = store.getFreeResources(link);
- Set<ResourceRequest> result = new HashSet<>();
- for (ResourceAllocation alloc : freeRes) {
- switch (alloc.type()) {
- case BANDWIDTH:
- result.add(new BandwidthResourceRequest(
- ((BandwidthResourceAllocation) alloc).bandwidth()));
- break;
- case LAMBDA:
- result.add(new LambdaResourceRequest(
- ((LambdaResourceAllocation) alloc).lambda()));
- break;
- case MPLS_LABEL:
- result.add(new MplsLabelResourceRequest(
- ((MplsLabelResourceAllocation) alloc).mplsLabel()));
- break;
- default:
- break;
- }
- }
- return result;
- }
-
- @Override
- public Iterable<ResourceRequest> getAvailableResources(Link link,
- LinkResourceAllocations allocations) {
- checkPermission(LINK_READ);
-
- Set<ResourceAllocation> allocatedRes = allocations.getResourceAllocation(link);
- Set<ResourceRequest> result = Sets.newHashSet(getAvailableResources(link));
- result.removeAll(allocatedRes);
- return result;
- }
-
- /**
- * Store delegate to re-post events emitted from the store.
- */
- private class InternalStoreDelegate implements LinkResourceStoreDelegate {
- @Override
- public void notify(LinkResourceEvent event) {
- post(event);
- }
- }
-}
diff --git a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
index 033952f..e32cdec 100644
--- a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
+++ b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
@@ -541,4 +541,4 @@
}
return permissions;
}
-}
\ No newline at end of file
+}