summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/app
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/app')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationAdminService.java70
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java96
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationEvent.java75
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationException.java49
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationListener.java24
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationService.java77
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationState.java33
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStore.java108
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStoreDelegate.java24
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java135
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/app/package-info.java20
11 files changed, 0 insertions, 711 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationAdminService.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationAdminService.java
deleted file mode 100644
index 3713e218..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationAdminService.java
+++ /dev/null
@@ -1,70 +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.app;
-
-import org.onosproject.core.Application;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.security.Permission;
-
-import java.io.InputStream;
-import java.util.Set;
-
-/**
- * Service for managing network control applications.
- */
-public interface ApplicationAdminService extends ApplicationService {
-
- /**
- * Installs the application contained in the specified application archive
- * input stream. This can be either a ZIP stream containing a compressed
- * application archive or a plain XML stream containing just the
- * {@code app.xml} application descriptor file.
- *
- * @param appDescStream application descriptor input stream
- * @return installed application descriptor
- * @throws org.onosproject.app.ApplicationException if unable to read the app archive stream
- */
- Application install(InputStream appDescStream);
-
- /**
- * Uninstalls the specified application.
- *
- * @param appId application identifier
- */
- void uninstall(ApplicationId appId);
-
- /**
- * Activates the specified application.
- *
- * @param appId application identifier
- */
- void activate(ApplicationId appId);
-
- /**
- * Deactivates the specified application.
- *
- * @param appId application identifier
- */
- void deactivate(ApplicationId appId);
-
- /**
- * Updates the permissions granted to the applications.
- *
- * @param appId application identifier
- * @param permissions set of granted permissions
- */
- void setPermissions(ApplicationId appId, Set<Permission> permissions);
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java
deleted file mode 100644
index e8ff9ec4..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationDescription.java
+++ /dev/null
@@ -1,96 +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.app;
-
-import org.onosproject.core.ApplicationRole;
-import org.onosproject.core.Version;
-import org.onosproject.security.Permission;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * Description of a network control/management application.
- */
-public interface ApplicationDescription {
-
- /**
- * Returns the application name id.
- *
- * @return application identifier
- */
- String name();
-
- /**
- * Returns the application version.
- *
- * @return application version
- */
- Version version();
-
- /**
- * Returns description of the application.
- *
- * @return application description text
- */
- String description();
-
- /**
- * Returns the name of the application origin, group or company.
- *
- * @return application origin
- */
- String origin();
-
- /**
- * Returns the role of the application.
- *
- * @return application role
- */
- ApplicationRole role();
-
- /**
- * Returns the permissions requested by the application.
- *
- * @return requested permissions
- */
- Set<Permission> permissions();
-
- /**
- * Returns the feature repository URI. Null value signifies that the
- * application did not provide its own features repository.
- *
- * @return optional feature repo URL
- */
- Optional<URI> featuresRepo();
-
- /**
- * Returns the list of features comprising the application. At least one
- * feature must be given.
- *
- * @return application features
- */
- List<String> features();
-
- /**
- * Returns list of required application names.
- *
- * @return list of application names
- */
- List<String> requiredApps();
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationEvent.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationEvent.java
deleted file mode 100644
index 5bf1323d..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationEvent.java
+++ /dev/null
@@ -1,75 +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.app;
-
-import org.onosproject.core.Application;
-import org.onosproject.event.AbstractEvent;
-
-/**
- * Describes application lifecycle event.
- */
-public class ApplicationEvent extends AbstractEvent<ApplicationEvent.Type, Application> {
-
- public enum Type {
- /**
- * Signifies that an application has been installed.
- */
- APP_INSTALLED,
-
- /**
- * Signifies that an application has been activated.
- */
- APP_ACTIVATED,
-
- /**
- * Signifies that an application has been deactivated.
- */
- APP_DEACTIVATED,
-
- /**
- * Signifies that an application has been uninstalled.
- */
- APP_UNINSTALLED,
-
- /**
- * Signifies that application granted permissions have changed.
- */
- APP_PERMISSIONS_CHANGED
- }
-
- /**
- * Creates an event of a given type and for the specified app and the
- * current time.
- *
- * @param type app event type
- * @param app event app subject
- */
- public ApplicationEvent(Type type, Application app) {
- super(type, app);
- }
-
- /**
- * Creates an event of a given type and for the specified app and time.
- *
- * @param type app event type
- * @param app event app subject
- * @param time occurrence time
- */
- public ApplicationEvent(Type type, Application app, long time) {
- super(type, app, time);
- }
-
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationException.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationException.java
deleted file mode 100644
index 2888c70b..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationException.java
+++ /dev/null
@@ -1,49 +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.app;
-
-/**
- * Represents class of errors related to application management.
- */
-public class ApplicationException extends RuntimeException {
-
- private static final long serialVersionUID = -2287403908433720122L;
-
- /**
- * Constructs an exception with no message and no underlying cause.
- */
- public ApplicationException() {
- }
-
- /**
- * Constructs an exception with the specified message.
- *
- * @param message the message describing the specific nature of the error
- */
- public ApplicationException(String message) {
- super(message);
- }
-
- /**
- * Constructs an exception with the specified message and the underlying cause.
- *
- * @param message the message describing the specific nature of the error
- * @param cause the underlying cause of this error
- */
- public ApplicationException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationListener.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationListener.java
deleted file mode 100644
index 7a680572..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationListener.java
+++ /dev/null
@@ -1,24 +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.app;
-
-import org.onosproject.event.EventListener;
-
-/**
- * Entity capable of receiving application related events.
- */
-public interface ApplicationListener extends EventListener<ApplicationEvent> {
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationService.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationService.java
deleted file mode 100644
index 1e543b85..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationService.java
+++ /dev/null
@@ -1,77 +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.app;
-
-import org.onosproject.core.Application;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.event.ListenerService;
-import org.onosproject.security.Permission;
-
-import java.util.Set;
-
-/**
- * Service for inspecting inventory of network control applications.
- */
-public interface ApplicationService
- extends ListenerService<ApplicationEvent, ApplicationListener> {
-
- /**
- * Returns the set of all installed applications.
- *
- * @return set of installed apps
- */
- Set<Application> getApplications();
-
- /**
- * Returns the registered id of the application with the given name.
- *
- * @param name application name
- * @return registered application id
- */
- ApplicationId getId(String name);
-
- /**
- * Returns the application with the supplied application identifier.
- *
- * @param appId application identifier
- * @return application descriptor
- */
- Application getApplication(ApplicationId appId);
-
- /**
- * Return the application state.
- *
- * @param appId application identifier
- * @return application state
- */
- ApplicationState getState(ApplicationId appId);
-
- /**
- * Returns the permissions currently granted to the applications.
- *
- * @param appId application identifier
- * @return set of granted permissions
- */
- Set<Permission> getPermissions(ApplicationId appId);
-
- /**
- * Registers application pre-deactivation processing hook.
- *
- * @param appId application identifier
- * @param hook pre-deactivation hook
- */
- void registerDeactivateHook(ApplicationId appId, Runnable hook);
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationState.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationState.java
deleted file mode 100644
index c480a0c7..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationState.java
+++ /dev/null
@@ -1,33 +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.app;
-
-/**
- * Representation of an application state.
- */
-public enum ApplicationState {
-
- /**
- * Indicates that application has been installed, but is not running.
- */
- INSTALLED,
-
- /**
- * Indicates that application is active.
- */
- ACTIVE
-
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStore.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStore.java
deleted file mode 100644
index 0a1f0727..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStore.java
+++ /dev/null
@@ -1,108 +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.app;
-
-import org.onosproject.core.Application;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.security.Permission;
-import org.onosproject.store.Store;
-
-import java.io.InputStream;
-import java.util.Set;
-
-/**
- * Service for managing network control applications.
- */
-public interface ApplicationStore extends Store<ApplicationEvent, ApplicationStoreDelegate> {
-
- /**
- * Returns the set of all installed applications.
- *
- * @return set of installed apps
- */
- Set<Application> getApplications();
-
- /**
- * Returns the registered id of the application with the given name.
- *
- * @param name application name
- * @return registered application id
- */
- ApplicationId getId(String name);
-
- /**
- * Returns the application with the supplied application identifier.
- *
- * @param appId application identifier
- * @return application descriptor
- */
- Application getApplication(ApplicationId appId);
-
- /**
- * Returns the current application state.
- *
- * @param appId application identifier
- * @return application state
- */
- ApplicationState getState(ApplicationId appId);
-
- /**
- * Creates the application from the specified application descriptor
- * input stream.
- *
- * @param appDescStream application archive input stream
- * @return application descriptor
- */
- Application create(InputStream appDescStream);
-
- /**
- * Removes the specified application.
- *
- * @param appId application identifier
- */
- void remove(ApplicationId appId);
-
- /**
- * Mark the application as active.
- *
- * @param appId application identifier
- */
- void activate(ApplicationId appId);
-
- /**
- * Mark the application as deactivated.
- *
- * @param appId application identifier
- */
- void deactivate(ApplicationId appId);
-
- /**
- * Returns the permissions granted to the applications.
- *
- * @param appId application identifier
- * @return set of granted permissions
- */
- Set<Permission> getPermissions(ApplicationId appId);
-
- /**
- * Updates the permissions granted to the applications.
- *
- * @param appId application identifier
- * @param permissions set of granted permissions
- */
- void setPermissions(ApplicationId appId, Set<Permission> permissions);
-
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStoreDelegate.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStoreDelegate.java
deleted file mode 100644
index f339e685..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/ApplicationStoreDelegate.java
+++ /dev/null
@@ -1,24 +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.app;
-
-import org.onosproject.store.StoreDelegate;
-
-/**
- * Application store delegate abstraction.
- */
-public interface ApplicationStoreDelegate extends StoreDelegate<ApplicationEvent> {
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
deleted file mode 100644
index 569183a7..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/DefaultApplicationDescription.java
+++ /dev/null
@@ -1,135 +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.app;
-
-import org.onosproject.core.ApplicationRole;
-import org.onosproject.core.Version;
-import org.onosproject.security.Permission;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Default implementation of network control/management application descriptor.
- */
-public class DefaultApplicationDescription implements ApplicationDescription {
-
- private final String name;
- private final Version version;
- private final String description;
- private final String origin;
- private final ApplicationRole role;
- private final Set<Permission> permissions;
- private final Optional<URI> featuresRepo;
- private final List<String> features;
- private final List<String> requiredApps;
-
- /**
- * Creates a new application descriptor using the supplied data.
- *
- * @param name application name
- * @param version application version
- * @param description application description
- * @param origin origin company
- * @param role application role
- * @param permissions requested permissions
- * @param featuresRepo optional features repo URI
- * @param features application features
- * @param requiredApps list of required application names
- */
- public DefaultApplicationDescription(String name, Version version,
- String description, String origin,
- ApplicationRole role, Set<Permission> permissions,
- URI featuresRepo, List<String> features,
- List<String> requiredApps) {
- this.name = checkNotNull(name, "Name cannot be null");
- this.version = checkNotNull(version, "Version cannot be null");
- this.description = checkNotNull(description, "Description cannot be null");
- this.origin = checkNotNull(origin, "Origin cannot be null");
- this.role = checkNotNull(role, "Role cannot be null");
- this.permissions = checkNotNull(permissions, "Permissions cannot be null");
- this.featuresRepo = Optional.ofNullable(featuresRepo);
- this.features = checkNotNull(features, "Features cannot be null");
- this.requiredApps = checkNotNull(requiredApps, "Required apps cannot be null");
- checkArgument(!features.isEmpty(), "There must be at least one feature");
- }
-
- @Override
- public String name() {
- return name;
- }
-
- @Override
- public Version version() {
- return version;
- }
-
- @Override
- public String description() {
- return description;
- }
-
- @Override
- public String origin() {
- return origin;
- }
-
- @Override
- public ApplicationRole role() {
- return role;
- }
-
- @Override
- public Set<Permission> permissions() {
- return permissions;
- }
-
- @Override
- public Optional<URI> featuresRepo() {
- return featuresRepo;
- }
-
- @Override
- public List<String> features() {
- return features;
- }
-
- @Override
- public List<String> requiredApps() {
- return requiredApps;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this)
- .add("name", name)
- .add("version", version)
- .add("description", description)
- .add("origin", origin)
- .add("role", role)
- .add("permissions", permissions)
- .add("featuresRepo", featuresRepo)
- .add("features", features)
- .add("requiredApps", requiredApps)
- .toString();
- }
-}
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/app/package-info.java b/framework/src/onos/core/api/src/main/java/org/onosproject/app/package-info.java
deleted file mode 100644
index f8e5465d..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/app/package-info.java
+++ /dev/null
@@ -1,20 +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.
- */
-
-/**
- * Set of abstractions for managing network control applications.
- */
-package org.onosproject.app; \ No newline at end of file