diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/core/api/src/main/java/org/onosproject/app | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/app')
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 |