diff options
Diffstat (limited to 'framework/src/onos/tools/package/archetypes')
61 files changed, 0 insertions, 3172 deletions
diff --git a/framework/src/onos/tools/package/archetypes/api/pom.xml b/framework/src/onos/tools/package/archetypes/api/pom.xml deleted file mode 100644 index 0ad9b69b..00000000 --- a/framework/src/onos/tools/package/archetypes/api/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-api-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <description>ONOS OSGi API bundle archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index e35285e6..00000000 --- a/framework/src/onos/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-bundle" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index 89a4f464..00000000 --- a/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi API bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/src/main/java/AppService.java b/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/src/main/java/AppService.java deleted file mode 100644 index 4878f2ba..00000000 --- a/framework/src/onos/tools/package/archetypes/api/src/main/resources/archetype-resources/src/main/java/AppService.java +++ /dev/null @@ -1,26 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -/** - * Skeletal ONOS application API. - */ -public interface AppService { - -} diff --git a/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/api/src/test/resources/projects/basic/goal.txt +++ /dev/null diff --git a/framework/src/onos/tools/package/archetypes/bundle/pom.xml b/framework/src/onos/tools/package/archetypes/bundle/pom.xml deleted file mode 100644 index 0709acd5..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-bundle-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <description>ONOS OSGi bundle archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index ef60bd05..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-bundle" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/test/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index bf0f7ea1..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - <!-- Uncomment to generate ONOS app from this module. - <onos.app.name>org.foo.app</onos.app.name> - <onos.app.origin>Foo, Inc.</onos.app.origin> - --> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onlab-osgi</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - <version>1.9.8</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - <version>1.20.0</version> - <executions> - <execution> - <id>generate-scr-srcdescriptor</id> - <goals> - <goal>scr</goal> - </goals> - </execution> - </executions> - <configuration> - <supportedProjectTypes> - <supportedProjectType>bundle</supportedProjectType> - <supportedProjectType>war</supportedProjectType> - </supportedProjectTypes> - </configuration> - </plugin> - <plugin> - <groupId>org.onosproject</groupId> - <artifactId>onos-maven-plugin</artifactId> - <version>1.5</version> - <executions> - <execution> - <id>cfg</id> - <phase>generate-resources</phase> - <goals> - <goal>cfg</goal> - </goals> - </execution> - <execution> - <id>swagger</id> - <phase>generate-sources</phase> - <goals> - <goal>swagger</goal> - </goals> - </execution> - <execution> - <id>app</id> - <phase>package</phase> - <goals> - <goal>app</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java b/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java deleted file mode 100644 index 693b6fd4..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java +++ /dev/null @@ -1,46 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -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.Service; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Skeletal ONOS application component. - */ -@Component(immediate = true) -public class AppComponent { - - private final Logger log = LoggerFactory.getLogger(getClass()); - - @Activate - protected void activate() { - log.info("Started"); - } - - @Deactivate - protected void deactivate() { - log.info("Stopped"); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java b/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java deleted file mode 100644 index b981225d..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java +++ /dev/null @@ -1,49 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -/** - * Set of tests of the ONOS application component. - */ -public class AppComponentTest { - - private AppComponent component; - - @Before - public void setUp() { - component = new AppComponent(); - component.activate(); - - } - - @After - public void tearDown() { - component.deactivate(); - } - - @Test - public void basics() { - - } - -} diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/bundle/src/test/resources/projects/basic/goal.txt +++ /dev/null diff --git a/framework/src/onos/tools/package/archetypes/cli/pom.xml b/framework/src/onos/tools/package/archetypes/cli/pom.xml deleted file mode 100644 index b57a3138..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-cli-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <name>onos-cli-archetype</name> - <description>ONOS Apache Karaf bundle archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index 8558d476..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-cli" partial="true" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - <fileSet filtered="true" packaged="false" encoding="UTF-8"> - <directory>src/main/resources</directory> - <includes> - <include>**/*.xml</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index b344cc59..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onlab-osgi</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-cli</artifactId> - <version>${onos.version}</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - <version>4.3.1</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - <version>1.9.8</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> - <version>3.0.3</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - <version>1.20.0</version> - <executions> - <execution> - <id>generate-scr-srcdescriptor</id> - <goals> - <goal>scr</goal> - </goals> - </execution> - </executions> - <configuration> - <supportedProjectTypes> - <supportedProjectType>bundle</supportedProjectType> - <supportedProjectType>war</supportedProjectType> - </supportedProjectTypes> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java b/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java deleted file mode 100644 index 9262b2e4..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java +++ /dev/null @@ -1,33 +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 ${package}; - -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; - -/** - * Sample Apache Karaf CLI command - */ -@Command(scope = "onos", name = "sample", - description = "Sample Apache Karaf CLI command") -public class AppCommand extends AbstractShellCommand { - - @Override - protected void execute() { - print("Hello %s", "World"); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/resources/OSGI-INF/blueprint/shell-config.xml deleted file mode 100644 index 202ab9ed..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/resources/OSGI-INF/blueprint/shell-config.xml +++ /dev/null @@ -1,24 +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. - --> -<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> - - <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0"> - <command> - <action class="${package}.AppCommand"/> - </command> - </command-bundle> - -</blueprint> diff --git a/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/cli/src/test/resources/projects/basic/goal.txt +++ /dev/null diff --git a/framework/src/onos/tools/package/archetypes/pom.xml b/framework/src/onos/tools/package/archetypes/pom.xml deleted file mode 100644 index 8a0be1f5..00000000 --- a/framework/src/onos/tools/package/archetypes/pom.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-base</artifactId> - <version>1</version> - <relativePath>../../build/pom.xml</relativePath> - </parent> - - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - <packaging>pom</packaging> - - <description>ONOS archetypes project</description> - - <modules> - <module>api</module> - <module>bundle</module> - <module>cli</module> - <module>ui</module> - <module>uitab</module> - <module>uitopo</module> - </modules> - - <build> - <extensions> - <extension> - <groupId>org.apache.maven.archetype</groupId> - <artifactId>archetype-packaging</artifactId> - <version>2.2</version> - </extension> - </extensions> - - <pluginManagement> - <plugins> - <plugin> - <artifactId>maven-archetype-plugin</artifactId> - <version>2.2</version> - </plugin> - </plugins> - </pluginManagement> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/ui/pom.xml b/framework/src/onos/tools/package/archetypes/ui/pom.xml deleted file mode 100644 index c4ed2c01..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-ui-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <description>ONOS UI Custom-View overlay archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index 309fd6ad..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-ui" partial="true" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - <fileSet filtered="true" packaged="false" encoding="UTF-8"> - <directory>src/main/resources</directory> - <includes> - <include>**/*.html</include> - <include>**/*.js</include> - <include>**/*.css</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index c067ee51..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi UI Custom-View bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - <!-- Uncomment to generate ONOS app from this module. - <onos.app.name>org.foo.app</onos.app.name> - <onos.app.origin>Foo, Inc.</onos.app.origin> - --> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onlab-osgi</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - <version>1.9.8</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - <version>1.20.0</version> - <executions> - <execution> - <id>generate-scr-srcdescriptor</id> - <goals> - <goal>scr</goal> - </goals> - </execution> - </executions> - <configuration> - <supportedProjectTypes> - <supportedProjectType>bundle</supportedProjectType> - <supportedProjectType>war</supportedProjectType> - </supportedProjectTypes> - </configuration> - </plugin> - <plugin> - <groupId>org.onosproject</groupId> - <artifactId>onos-maven-plugin</artifactId> - <version>1.5</version> - <executions> - <execution> - <id>cfg</id> - <phase>generate-resources</phase> - <goals> - <goal>cfg</goal> - </goals> - </execution> - <execution> - <id>swagger</id> - <phase>generate-sources</phase> - <goals> - <goal>swagger</goal> - </goals> - </execution> - <execution> - <id>app</id> - <phase>package</phase> - <goals> - <goal>app</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java deleted file mode 100644 index e44b34d5..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiComponent.java +++ /dev/null @@ -1,79 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.google.common.collect.ImmutableList; -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.onosproject.ui.UiExtension; -import org.onosproject.ui.UiExtensionService; -import org.onosproject.ui.UiMessageHandlerFactory; -import org.onosproject.ui.UiView; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.List; - -/** - * Skeletal ONOS UI Custom-View application component. - */ -@Component(immediate = true) -public class AppUiComponent { - - private static final String VIEW_ID = "sampleCustom"; - private static final String VIEW_TEXT = "Sample Custom"; - - private final Logger log = LoggerFactory.getLogger(getClass()); - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected UiExtensionService uiExtensionService; - - // List of application views - private final List<UiView> uiViews = ImmutableList.of( - new UiView(UiView.Category.OTHER, VIEW_ID, VIEW_TEXT) - ); - - // Factory for UI message handlers - private final UiMessageHandlerFactory messageHandlerFactory = - () -> ImmutableList.of( - new AppUiMessageHandler() - ); - - // Application UI extension - protected UiExtension extension = - new UiExtension.Builder(getClass().getClassLoader(), uiViews) - .messageHandlerFactory(messageHandlerFactory) - .build(); - - @Activate - protected void activate() { - uiExtensionService.register(extension); - log.info("Started"); - } - - @Deactivate - protected void deactivate() { - uiExtensionService.unregister(extension); - log.info("Stopped"); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java deleted file mode 100644 index d6486328..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/java/AppUiMessageHandler.java +++ /dev/null @@ -1,77 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.common.collect.ImmutableSet; -import org.onosproject.ui.RequestHandler; -import org.onosproject.ui.UiMessageHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collection; - -/** - * Skeletal ONOS UI Custom-View message handler. - */ -public class AppUiMessageHandler extends UiMessageHandler { - - private static final String SAMPLE_CUSTOM_DATA_REQ = "sampleCustomDataRequest"; - private static final String SAMPLE_CUSTOM_DATA_RESP = "sampleCustomDataResponse"; - - private static final String NUMBER = "number"; - private static final String SQUARE = "square"; - private static final String CUBE = "cube"; - private static final String MESSAGE = "message"; - private static final String MSG_FORMAT = "Next incrememt is %d units"; - - private final Logger log = LoggerFactory.getLogger(getClass()); - - private long someNumber = 1; - private long someIncrement = 1; - - @Override - protected Collection<RequestHandler> createRequestHandlers() { - return ImmutableSet.of( - new SampleCustomDataRequestHandler() - ); - } - - // handler for sample data requests - private final class SampleCustomDataRequestHandler extends RequestHandler { - - private SampleCustomDataRequestHandler() { - super(SAMPLE_CUSTOM_DATA_REQ); - } - - @Override - public void process(long sid, ObjectNode payload) { - someIncrement++; - someNumber += someIncrement; - log.debug("Computing data for {}...", someNumber); - - ObjectNode result = objectNode(); - result.put(NUMBER, someNumber); - result.put(SQUARE, someNumber * someNumber); - result.put(CUBE, someNumber * someNumber * someNumber); - result.put(MESSAGE, String.format(MSG_FORMAT, someIncrement + 1)); - sendMessage(SAMPLE_CUSTOM_DATA_RESP, 0, result); - } - } -}
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.css b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.css deleted file mode 100644 index ffeac0aa..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.css +++ /dev/null @@ -1,48 +0,0 @@ -/* css for sample app custom view */ - -#ov-sample-custom { - padding: 20px; -} -.light #ov-sample-custom { - color: navy; -} -.dark #ov-sample-custom { - color: #88f; -} - -#ov-sample-custom .button-panel { - margin: 10px; - width: 200px; -} - -.light #ov-sample-custom .button-panel { - background-color: #ccf; -} -.dark #ov-sample-custom .button-panel { - background-color: #444; -} - -#ov-sample-custom .my-button { - cursor: pointer; - padding: 4px; - text-align: center; -} - -.light #ov-sample-custom .my-button { - color: white; - background-color: #99d; -} -.dark #ov-sample-custom .my-button { - color: black; - background-color: #aaa; -} - -#ov-sample-custom .number { - font-size: 140%; - text-align: right; -} - -#ov-sample-custom .quote { - margin: 10px 20px; - font-style: italic; -}
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.html b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.html deleted file mode 100644 index d3d79a10..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.html +++ /dev/null @@ -1,32 +0,0 @@ -<!-- partial HTML --> -<div id="ov-sample-custom"> - <div class="button-panel"> - <div class="my-button" ng-click="getData()"> - Fetch Data - </div> - </div> - - <div class="data-panel"> - <table> - <tr> - <td> Number </td> - <td class="number"> {{data.number}} </td> - </tr> - <tr> - <td> Square </td> - <td class="number"> {{data.square}} </td> - </tr> - <tr> - <td> Cube </td> - <td class="number"> {{data.cube}} </td> - </tr> - </table> - - <p> - A message from our sponsors: - </p> - <p> - <span class="quote"> {{data.message}} </span> - </p> - </div> -</div> diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.js b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.js deleted file mode 100644 index 21058640..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sampleCustom/sampleCustom.js +++ /dev/null @@ -1,69 +0,0 @@ -// js for sample app custom view -(function () { - 'use strict'; - - // injected refs - var $log, $scope, wss, ks; - - // constants - var dataReq = 'sampleCustomDataRequest', - dataResp = 'sampleCustomDataResponse'; - - function addKeyBindings() { - var map = { - space: [getData, 'Fetch data from server'], - - _helpFormat: [ - ['space'] - ] - }; - - ks.keyBindings(map); - } - - function getData() { - wss.sendEvent(dataReq); - } - - function respDataCb(data) { - $scope.data = data; - $scope.$apply(); - } - - - angular.module('ovSampleCustom', []) - .controller('OvSampleCustomCtrl', - ['$log', '$scope', 'WebSocketService', 'KeyService', - - function (_$log_, _$scope_, _wss_, _ks_) { - $log = _$log_; - $scope = _$scope_; - wss = _wss_; - ks = _ks_; - - var handlers = {}; - $scope.data = {}; - - // data response handler - handlers[dataResp] = respDataCb; - wss.bindHandlers(handlers); - - addKeyBindings(); - - // custom click handler - $scope.getData = getData; - - // get data the first time... - getData(); - - // cleanup - $scope.$on('$destroy', function () { - wss.unbindHandlers(handlers); - ks.unbindKeys(); - $log.log('OvSampleCustomCtrl has been destroyed'); - }); - - $log.log('OvSampleCustomCtrl has been created'); - }]); - -}()); diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/css.html b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/css.html deleted file mode 100644 index 4e7b7092..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/css.html +++ /dev/null @@ -1 +0,0 @@ -<link rel="stylesheet" href="app/view/sampleCustom/sampleCustom.css">
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/js.html b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/js.html deleted file mode 100644 index 6550b85e..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/js.html +++ /dev/null @@ -1 +0,0 @@ -<script src="app/view/sampleCustom/sampleCustom.js"></script>
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/test/resources/projects/basic/goal.txt +++ /dev/null diff --git a/framework/src/onos/tools/package/archetypes/uitab/pom.xml b/framework/src/onos/tools/package/archetypes/uitab/pom.xml deleted file mode 100644 index e82c96ff..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-uitab-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <description>ONOS UI Table-View overlay archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index a6273811..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-uitab" partial="true" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - <fileSet filtered="true" packaged="false" encoding="UTF-8"> - <directory>src/main/resources</directory> - <includes> - <include>**/*.html</include> - <include>**/*.js</include> - <include>**/*.css</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index 3dbd873e..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi UI Table-View bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - <!-- Uncomment to generate ONOS app from this module. - <onos.app.name>org.foo.app</onos.app.name> - <onos.app.origin>Foo, Inc.</onos.app.origin> - --> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onlab-osgi</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - <version>1.9.8</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - <version>1.20.0</version> - <executions> - <execution> - <id>generate-scr-srcdescriptor</id> - <goals> - <goal>scr</goal> - </goals> - </execution> - </executions> - <configuration> - <supportedProjectTypes> - <supportedProjectType>bundle</supportedProjectType> - <supportedProjectType>war</supportedProjectType> - </supportedProjectTypes> - </configuration> - </plugin> - <plugin> - <groupId>org.onosproject</groupId> - <artifactId>onos-maven-plugin</artifactId> - <version>1.5</version> - <executions> - <execution> - <id>cfg</id> - <phase>generate-resources</phase> - <goals> - <goal>cfg</goal> - </goals> - </execution> - <execution> - <id>swagger</id> - <phase>generate-sources</phase> - <goals> - <goal>swagger</goal> - </goals> - </execution> - <execution> - <id>app</id> - <phase>package</phase> - <goals> - <goal>app</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java deleted file mode 100644 index 263564ce..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableComponent.java +++ /dev/null @@ -1,80 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.google.common.collect.ImmutableList; -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.onosproject.ui.UiExtension; -import org.onosproject.ui.UiExtensionService; -import org.onosproject.ui.UiMessageHandlerFactory; -import org.onosproject.ui.UiView; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.List; - -/** - * Skeletal ONOS UI Table-View application component. - */ -@Component(immediate = true) -public class AppUiTableComponent { - - private static final String VIEW_ID = "sampleTable"; - private static final String VIEW_TEXT = "Sample Table"; - - private final Logger log = LoggerFactory.getLogger(getClass()); - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected UiExtensionService uiExtensionService; - - // List of application views - private final List<UiView> uiViews = ImmutableList.of( - new UiView(UiView.Category.OTHER, VIEW_ID, VIEW_TEXT) - ); - - // Factory for UI message handlers - private final UiMessageHandlerFactory messageHandlerFactory = - () -> ImmutableList.of( - new AppUiTableMessageHandler() - ); - - // Application UI extension - protected UiExtension extension = - new UiExtension.Builder(getClass().getClassLoader(), uiViews) - .resourcePath(VIEW_ID) - .messageHandlerFactory(messageHandlerFactory) - .build(); - - @Activate - protected void activate() { - uiExtensionService.register(extension); - log.info("Started"); - } - - @Deactivate - protected void deactivate() { - uiExtensionService.unregister(extension); - log.info("Stopped"); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java deleted file mode 100644 index a673f1fd..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java +++ /dev/null @@ -1,190 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.common.collect.ImmutableSet; -import org.onosproject.ui.RequestHandler; -import org.onosproject.ui.UiMessageHandler; -import org.onosproject.ui.table.TableModel; -import org.onosproject.ui.table.TableRequestHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.Override; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * Skeletal ONOS UI Table-View message handler. - */ -public class AppUiTableMessageHandler extends UiMessageHandler { - - private static final String SAMPLE_TABLE_DATA_REQ = "sampleTableDataRequest"; - private static final String SAMPLE_TABLE_DATA_RESP = "sampleTableDataResponse"; - private static final String SAMPLE_TABLES = "sampleTables"; - - private static final String SAMPLE_TABLE_DETAIL_REQ = "sampleTableDetailsRequest"; - private static final String SAMPLE_TABLE_DETAIL_RESP = "sampleTableDetailsResponse"; - private static final String DETAILS = "details"; - - private static final String ID = "id"; - private static final String LABEL = "label"; - private static final String CODE = "code"; - private static final String COMMENT = "comment"; - private static final String RESULT = "result"; - - private static final String[] COLUMN_IDS = { ID, LABEL, CODE }; - - private final Logger log = LoggerFactory.getLogger(getClass()); - - - @Override - protected Collection<RequestHandler> createRequestHandlers() { - return ImmutableSet.of( - new SampleTableDataRequestHandler(), - new SampleTableDetailRequestHandler() - ); - } - - // handler for sample table requests - private final class SampleTableDataRequestHandler extends TableRequestHandler { - - private SampleTableDataRequestHandler() { - super(SAMPLE_TABLE_DATA_REQ, SAMPLE_TABLE_DATA_RESP, SAMPLE_TABLES); - } - - // if necessary, override defaultColumnId() -- if it isn't "id" - - @Override - protected String[] getColumnIds() { - return COLUMN_IDS; - } - - // if required, override createTableModel() to set column formatters / comparators - - @Override - protected void populateTable(TableModel tm, ObjectNode payload) { - // === NOTE: the table model supplied here will have been created - // via a call to createTableModel(). To assign non-default - // cell formatters or comparators to the table model, override - // createTableModel() and set them there. - - // === retrieve table row items from some service... - // SomeService ss = get(SomeService.class); - // List<Item> items = ss.getItems() - - // fake data for demonstration purposes... - List<Item> items = getItems(); - for (Item item: items) { - populateRow(tm.addRow(), item); - } - } - - private void populateRow(TableModel.Row row, Item item) { - row.cell(ID, item.id()) - .cell(LABEL, item.label()) - .cell(CODE, item.code()); - } - } - - - // handler for sample item details requests - private final class SampleTableDetailRequestHandler extends RequestHandler { - - private SampleTableDetailRequestHandler() { - super(SAMPLE_TABLE_DETAIL_REQ); - } - - @Override - public void process(long sid, ObjectNode payload) { - String id = string(payload, ID, "(none)"); - - // SomeService ss = get(SomeService.class); - // Item item = ss.getItemDetails(id) - - // fake data for demonstration purposes... - Item item = getItem(id); - - ObjectNode rootNode = objectNode(); - ObjectNode data = objectNode(); - rootNode.set(DETAILS, data); - - if (item == null) { - rootNode.put(RESULT, "Item with id '" + id + "' not found"); - log.warn("attempted to get item detail for id '{}'", id); - - } else { - rootNode.put(RESULT, "Found item with id '" + id + "'"); - - data.put(ID, item.id()); - data.put(LABEL, item.label()); - data.put(CODE, item.code()); - data.put(COMMENT, "Some arbitrary comment"); - } - - sendMessage(SAMPLE_TABLE_DETAIL_RESP, 0, rootNode); - } - } - - - // =================================================================== - // NOTE: The code below this line is to create fake data for this - // sample code. Normally you would use existing services to - // provide real data. - - // Lookup a single item. - private static Item getItem(String id) { - // We realize this code is really inefficient, but - // it suffices for our purposes of demonstration... - for (Item item : getItems()) { - if (item.id().equals(id)) { - return item; - } - } - return null; - } - - // Produce a list of items. - private static List<Item> getItems() { - List<Item> items = new ArrayList<>(); - items.add(new Item("item-1", "foo", 42)); - items.add(new Item("item-2", "bar", 99)); - items.add(new Item("item-3", "baz", 65)); - return items; - } - - // Simple model class to provide sample data - private static class Item { - private final String id; - private final String label; - private final int code; - - Item(String id, String label, int code) { - this.id = id; - this.label = label; - this.code = code; - } - - String id() { return id; } - String label() { return label; } - int code() { return code; } - } -}
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.css b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.css deleted file mode 100644 index 5eb551b3..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.css +++ /dev/null @@ -1,35 +0,0 @@ -/* css for sample table view */ - -#ov-sample-table h2 { - display: inline-block; -} - -/* Panel Styling */ -#ov-sample-table-item-details-panel.floatpanel { - position: absolute; - top: 115px; -} - -.light #ov-sample-table-item-details-panel.floatpanel { - background-color: rgb(229, 234, 237); -} -.dark #ov-sample-table-item-details-panel.floatpanel { - background-color: #3A4042; -} - -#ov-sample-table-item-details-panel h3 { - margin: 0; - font-size: large; -} - -#ov-sample-table-item-details-panel h4 { - margin: 0; -} - -#ov-sample-table-item-details-panel td { - padding: 5px; -} -#ov-sample-table-item-details-panel td.label { - font-style: italic; - opacity: 0.8; -} diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.html b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.html deleted file mode 100644 index e20a94d7..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- partial HTML --> -<div id="ov-sample-table"> - <div class="tabular-header"> - <h2>Items ({{tableData.length}} total)</h2> - <div class="ctrl-btns"> - <div class="refresh" ng-class="{active: autoRefresh}" - icon icon-id="refresh" icon-size="36" - tooltip tt-msg="autoRefreshTip" - ng-click="toggleRefresh()"></div> - </div> - </div> - - <div class="summary-list" onos-table-resize> - - <div class="table-header" onos-sortable-header> - <table> - <tr> - <td colId="id" sortable>Item ID </td> - <td colId="label" sortable>Label </td> - <td colId="code" sortable>Code </td> - </tr> - </table> - </div> - - <div class="table-body"> - <table> - <tr ng-if="!tableData.length" class="no-data"> - <td colspan="3"> - No Items found - </td> - </tr> - - <tr ng-repeat="item in tableData track by $index" - ng-click="selectCallback($event, item)" - ng-class="{selected: item.id === selId}"> - <td>{{item.id}}</td> - <td>{{item.label}}</td> - <td>{{item.code}}</td> - </tr> - </table> - </div> - - </div> - - <ov-sample-table-item-details-panel></ov-sample-table-item-details-panel> -</div> diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.js b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.js deleted file mode 100644 index 7b925550..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTable/sampleTable.js +++ /dev/null @@ -1,141 +0,0 @@ -// js for sample app table view -(function () { - 'use strict'; - - // injected refs - var $log, $scope, fs, wss; - - // constants - var detailsReq = 'sampleTableDetailsRequest', - detailsResp = 'sampleTableDetailsResponse', - pName = 'ov-sample-table-item-details-panel', - - propOrder = ['id', 'label', 'code'], - friendlyProps = ['Item ID', 'Item Label', 'Special Code']; - - - function addProp(tbody, index, value) { - var tr = tbody.append('tr'); - - function addCell(cls, txt) { - tr.append('td').attr('class', cls).html(txt); - } - addCell('label', friendlyProps[index] + ' :'); - addCell('value', value); - } - - function populatePanel(panel) { - var title = panel.append('h3'), - tbody = panel.append('table').append('tbody'); - - title.text('Item Details'); - - propOrder.forEach(function (prop, i) { - addProp(tbody, i, $scope.panelDetails[prop]); - }); - - panel.append('hr'); - panel.append('h4').text('Comments'); - panel.append('p').text($scope.panelDetails.comment); - } - - function respDetailsCb(data) { - $scope.panelDetails = data.details; - $scope.$apply(); - } - - angular.module('ovSampleTable', []) - .controller('OvSampleTableCtrl', - ['$log', '$scope', 'TableBuilderService', - 'FnService', 'WebSocketService', - - function (_$log_, _$scope_, tbs, _fs_, _wss_) { - $log = _$log_; - $scope = _$scope_; - fs = _fs_; - wss = _wss_; - - var handlers = {}; - $scope.panelDetails = {}; - - // details response handler - handlers[detailsResp] = respDetailsCb; - wss.bindHandlers(handlers); - - // custom selection callback - function selCb($event, row) { - if ($scope.selId) { - wss.sendEvent(detailsReq, { id: row.id }); - } else { - $scope.hidePanel(); - } - $log.debug('Got a click on:', row); - } - - // TableBuilderService creating a table for us - tbs.buildTable({ - scope: $scope, - tag: 'sampleTable', - selCb: selCb - }); - - // cleanup - $scope.$on('$destroy', function () { - wss.unbindHandlers(handlers); - $log.log('OvSampleTableCtrl has been destroyed'); - }); - - $log.log('OvSampleTableCtrl has been created'); - }]) - - .directive('ovSampleTableItemDetailsPanel', ['PanelService', 'KeyService', - function (ps, ks) { - return { - restrict: 'E', - link: function (scope, element, attrs) { - // insert details panel with PanelService - // create the panel - var panel = ps.createPanel(pName, { - width: 200, - margin: 20, - hideMargin: 0 - }); - panel.hide(); - scope.hidePanel = function () { panel.hide(); }; - - function closePanel() { - if (panel.isVisible()) { - $scope.selId = null; - panel.hide(); - return true; - } - return false; - } - - // create key bindings to handle panel - ks.keyBindings({ - esc: [closePanel, 'Close the details panel'], - _helpFormat: ['esc'] - }); - ks.gestureNotes([ - ['click', 'Select a row to show item details'] - ]); - - // update the panel's contents when the data is changed - scope.$watch('panelDetails', function () { - if (!fs.isEmptyObject(scope.panelDetails)) { - panel.empty(); - populatePanel(panel); - panel.show(); - } - }); - - // cleanup on destroyed scope - scope.$on('$destroy', function () { - ks.unbindKeys(); - ps.destroyPanel(pName); - }); - } - }; - }]); -}()); diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/css.html b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/css.html deleted file mode 100644 index 26112b0d..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/css.html +++ /dev/null @@ -1 +0,0 @@ -<link rel="stylesheet" href="app/view/sampleTable/sampleTable.css">
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/js.html b/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/js.html deleted file mode 100644 index 4bfa2169..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/resources/sampleTable/js.html +++ /dev/null @@ -1 +0,0 @@ -<script src="app/view/sampleTable/sampleTable.js"></script>
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/uitab/src/test/resources/projects/basic/goal.txt +++ /dev/null diff --git a/framework/src/onos/tools/package/archetypes/uitopo/pom.xml b/framework/src/onos/tools/package/archetypes/uitopo/pom.xml deleted file mode 100644 index b03c325d..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-archetypes</artifactId> - <version>1.4.0-rc1</version> - </parent> - - <artifactId>onos-uitopo-archetype</artifactId> - <packaging>maven-archetype</packaging> - - <description>ONOS UI Topology-Overlay overlay archetype</description> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml deleted file mode 100644 index 26a9082d..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - ~ 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. - --> -<archetype-descriptor - xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" - name="onos-uitopo" partial="true" - xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <fileSets> - <fileSet filtered="true" packaged="true" encoding="UTF-8"> - <directory>src/main/java</directory> - <includes> - <include>**/*.java</include> - </includes> - </fileSet> - <fileSet filtered="true" packaged="false" encoding="UTF-8"> - <directory>src/main/resources</directory> - <includes> - <include>**/*.html</include> - <include>**/*.js</include> - <include>**/*.css</include> - </includes> - </fileSet> - </fileSets> -</archetype-descriptor> diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml deleted file mode 100644 index 2c97cf48..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>${groupId}</groupId> - <artifactId>${artifactId}</artifactId> - <version>${version}</version> - <packaging>bundle</packaging> - - <description>ONOS OSGi UI Topology-Overlay bundle archetype</description> - <url>http://onosproject.org</url> - - <properties> - <onos.version>1.4.0-rc1</onos.version> - <!-- Uncomment to generate ONOS app from this module. - <onos.app.name>org.foo.app</onos.app.name> - <onos.app.origin>Foo, Inc.</onos.app.origin> - --> - </properties> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onlab-osgi</artifactId> - <version>${onos.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - <version>${onos.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - <version>1.9.8</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.5.3</version> - <extensions>true</extensions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - <version>1.20.0</version> - <executions> - <execution> - <id>generate-scr-srcdescriptor</id> - <goals> - <goal>scr</goal> - </goals> - </execution> - </executions> - <configuration> - <supportedProjectTypes> - <supportedProjectType>bundle</supportedProjectType> - <supportedProjectType>war</supportedProjectType> - </supportedProjectTypes> - </configuration> - </plugin> - <plugin> - <groupId>org.onosproject</groupId> - <artifactId>onos-maven-plugin</artifactId> - <version>1.5</version> - <executions> - <execution> - <id>cfg</id> - <phase>generate-resources</phase> - <goals> - <goal>cfg</goal> - </goals> - </execution> - <execution> - <id>swagger</id> - <phase>generate-sources</phase> - <goals> - <goal>swagger</goal> - </goals> - </execution> - <execution> - <id>app</id> - <phase>package</phase> - <goals> - <goal>app</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java deleted file mode 100644 index fa62a784..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java +++ /dev/null @@ -1,89 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.google.common.collect.ImmutableList; -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.onosproject.ui.UiExtension; -import org.onosproject.ui.UiExtensionService; -import org.onosproject.ui.UiMessageHandlerFactory; -import org.onosproject.ui.UiTopoOverlayFactory; -import org.onosproject.ui.UiView; -import org.onosproject.ui.UiViewHidden; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.List; - -/** - * Skeletal ONOS UI Topology-Overlay application component. - */ -@Component(immediate = true) -public class AppUiTopovComponent { - - private static final ClassLoader CL = AppUiTopovComponent.class.getClassLoader(); - private static final String VIEW_ID = "sampleTopov"; - - private final Logger log = LoggerFactory.getLogger(getClass()); - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected UiExtensionService uiExtensionService; - - // List of application views - private final List<UiView> uiViews = ImmutableList.of( - new UiViewHidden(VIEW_ID) - ); - - // Factory for UI message handlers - private final UiMessageHandlerFactory messageHandlerFactory = - () -> ImmutableList.of( - new AppUiTopovMessageHandler() - ); - - // Factory for UI topology overlays - private final UiTopoOverlayFactory topoOverlayFactory = - () -> ImmutableList.of( - new AppUiTopovOverlay() - ); - - // Application UI extension - protected UiExtension extension = - new UiExtension.Builder(CL, uiViews) - .resourcePath(VIEW_ID) - .messageHandlerFactory(messageHandlerFactory) - .topoOverlayFactory(topoOverlayFactory) - .build(); - - @Activate - protected void activate() { - uiExtensionService.register(extension); - log.info("Started"); - } - - @Deactivate - protected void deactivate() { - uiExtensionService.unregister(extension); - log.info("Stopped"); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java deleted file mode 100644 index 65e3489f..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java +++ /dev/null @@ -1,337 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.common.base.Strings; -import com.google.common.collect.ImmutableSet; -import org.onlab.osgi.ServiceDirectory; -import org.onosproject.net.Device; -import org.onosproject.net.DeviceId; -import org.onosproject.net.Element; -import org.onosproject.net.HostId; -import org.onosproject.net.Link; -import org.onosproject.net.device.DeviceService; -import org.onosproject.net.host.HostService; -import org.onosproject.net.link.LinkService; -import org.onosproject.ui.RequestHandler; -import org.onosproject.ui.UiConnection; -import org.onosproject.ui.UiMessageHandler; -import org.onosproject.ui.topo.DeviceHighlight; -import org.onosproject.ui.topo.Highlights; -import org.onosproject.ui.topo.NodeBadge; -import org.onosproject.ui.topo.NodeBadge.Status; -import org.onosproject.ui.topo.TopoJson; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; -import java.util.Timer; -import java.util.TimerTask; - -/** - * Skeletal ONOS UI Topology-Overlay message handler. - */ -public class AppUiTopovMessageHandler extends UiMessageHandler { - - private static final String SAMPLE_TOPOV_DISPLAY_START = "sampleTopovDisplayStart"; - private static final String SAMPLE_TOPOV_DISPLAY_UPDATE = "sampleTopovDisplayUpdate"; - private static final String SAMPLE_TOPOV_DISPLAY_STOP = "sampleTopovDisplayStop"; - - private static final String ID = "id"; - private static final String MODE = "mode"; - - private static final long UPDATE_PERIOD_MS = 1000; - - private static final Link[] EMPTY_LINK_SET = new Link[0]; - - private enum Mode { IDLE, MOUSE, LINK } - - private final Logger log = LoggerFactory.getLogger(getClass()); - - private DeviceService deviceService; - private HostService hostService; - private LinkService linkService; - - private final Timer timer = new Timer("sample-overlay"); - private TimerTask demoTask = null; - private Mode currentMode = Mode.IDLE; - private Element elementOfNote; - private Link[] linkSet = EMPTY_LINK_SET; - private int linkIndex; - - - // ===============-=-=-=-=-=-======================-=-=-=-=-=-=-================================ - - - @Override - public void init(UiConnection connection, ServiceDirectory directory) { - super.init(connection, directory); - deviceService = directory.get(DeviceService.class); - hostService = directory.get(HostService.class); - linkService = directory.get(LinkService.class); - } - - @Override - protected Collection<RequestHandler> createRequestHandlers() { - return ImmutableSet.of( - new DisplayStartHandler(), - new DisplayUpdateHandler(), - new DisplayStopHandler() - ); - } - - // === ------------------------- - // === Handler classes - - private final class DisplayStartHandler extends RequestHandler { - public DisplayStartHandler() { - super(SAMPLE_TOPOV_DISPLAY_START); - } - - @Override - public void process(long sid, ObjectNode payload) { - String mode = string(payload, MODE); - - log.debug("Start Display: mode [{}]", mode); - clearState(); - clearForMode(); - - switch (mode) { - case "mouse": - currentMode = Mode.MOUSE; - cancelTask(); - sendMouseData(); - break; - - case "link": - currentMode = Mode.LINK; - scheduleTask(); - initLinkSet(); - sendLinkData(); - break; - - default: - currentMode = Mode.IDLE; - cancelTask(); - break; - } - } - } - - private final class DisplayUpdateHandler extends RequestHandler { - public DisplayUpdateHandler() { - super(SAMPLE_TOPOV_DISPLAY_UPDATE); - } - - @Override - public void process(long sid, ObjectNode payload) { - String id = string(payload, ID); - log.debug("Update Display: id [{}]", id); - if (!Strings.isNullOrEmpty(id)) { - updateForMode(id); - } else { - clearForMode(); - } - } - } - - private final class DisplayStopHandler extends RequestHandler { - public DisplayStopHandler() { - super(SAMPLE_TOPOV_DISPLAY_STOP); - } - - @Override - public void process(long sid, ObjectNode payload) { - log.debug("Stop Display"); - cancelTask(); - clearState(); - clearForMode(); - } - } - - // === ------------ - - private void clearState() { - currentMode = Mode.IDLE; - elementOfNote = null; - linkSet = EMPTY_LINK_SET; - } - - private void updateForMode(String id) { - log.debug("host service: {}", hostService); - log.debug("device service: {}", deviceService); - - try { - HostId hid = HostId.hostId(id); - log.debug("host id {}", hid); - elementOfNote = hostService.getHost(hid); - log.debug("host element {}", elementOfNote); - - } catch (Exception e) { - try { - DeviceId did = DeviceId.deviceId(id); - log.debug("device id {}", did); - elementOfNote = deviceService.getDevice(did); - log.debug("device element {}", elementOfNote); - - } catch (Exception e2) { - log.debug("Unable to process ID [{}]", id); - elementOfNote = null; - } - } - - switch (currentMode) { - case MOUSE: - sendMouseData(); - break; - - case LINK: - sendLinkData(); - break; - - default: - break; - } - - } - - private void clearForMode() { - sendHighlights(new Highlights()); - } - - private void sendHighlights(Highlights highlights) { - sendMessage(TopoJson.highlightsMessage(highlights)); - } - - - private void sendMouseData() { - if (elementOfNote != null && elementOfNote instanceof Device) { - DeviceId devId = (DeviceId) elementOfNote.id(); - Set<Link> links = linkService.getDeviceEgressLinks(devId); - Highlights highlights = fromLinks(links, devId); - addDeviceBadge(highlights, devId, links.size()); - sendHighlights(highlights); - } - // Note: could also process Host, if available - } - - private void addDeviceBadge(Highlights h, DeviceId devId, int n) { - DeviceHighlight dh = new DeviceHighlight(devId.toString()); - dh.setBadge(createBadge(n)); - h.add(dh); - } - - private NodeBadge createBadge(int n) { - Status status = n > 3 ? Status.ERROR : Status.WARN; - String noun = n > 3 ? "(critical)" : "(problematic)"; - String msg = "Egress links: " + n + " " + noun; - return NodeBadge.number(status, n, msg); - } - - private Highlights fromLinks(Set<Link> links, DeviceId devId) { - DemoLinkMap linkMap = new DemoLinkMap(); - if (links != null) { - log.debug("Processing {} links", links.size()); - links.forEach(linkMap::add); - } else { - log.debug("No egress links found for device {}", devId); - } - - Highlights highlights = new Highlights(); - - for (DemoLink dlink : linkMap.biLinks()) { - dlink.makeImportant().setLabel("Yo!"); - highlights.add(dlink.highlight(null)); - } - return highlights; - } - - private void initLinkSet() { - Set<Link> links = new HashSet<>(); - for (Link link : linkService.getActiveLinks()) { - links.add(link); - } - linkSet = links.toArray(new Link[links.size()]); - linkIndex = 0; - log.debug("initialized link set to {}", linkSet.length); - } - - private void sendLinkData() { - DemoLinkMap linkMap = new DemoLinkMap(); - for (Link link : linkSet) { - linkMap.add(link); - } - DemoLink dl = linkMap.add(linkSet[linkIndex]); - dl.makeImportant().setLabel(Integer.toString(linkIndex)); - log.debug("sending link data (index {})", linkIndex); - - linkIndex += 1; - if (linkIndex >= linkSet.length) { - linkIndex = 0; - } - - Highlights highlights = new Highlights(); - for (DemoLink dlink : linkMap.biLinks()) { - highlights.add(dlink.highlight(null)); - } - - sendHighlights(highlights); - } - - private synchronized void scheduleTask() { - if (demoTask == null) { - log.debug("Starting up demo task..."); - demoTask = new DisplayUpdateTask(); - timer.schedule(demoTask, UPDATE_PERIOD_MS, UPDATE_PERIOD_MS); - } else { - log.debug("(demo task already running"); - } - } - - private synchronized void cancelTask() { - if (demoTask != null) { - demoTask.cancel(); - demoTask = null; - } - } - - - private class DisplayUpdateTask extends TimerTask { - @Override - public void run() { - try { - switch (currentMode) { - case LINK: - sendLinkData(); - break; - - default: - break; - } - } catch (Exception e) { - log.warn("Unable to process demo task: {}", e.getMessage()); - log.debug("Oops", e); - } - } - } - -}
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java deleted file mode 100644 index 48e75a5a..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java +++ /dev/null @@ -1,82 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import org.onosproject.net.DeviceId; -import org.onosproject.ui.UiTopoOverlay; -import org.onosproject.ui.topo.ButtonId; -import org.onosproject.ui.topo.PropertyPanel; -import org.onosproject.ui.topo.TopoConstants.CoreButtons; -import org.onosproject.ui.topo.TopoConstants.Glyphs; - -import static org.onosproject.ui.topo.TopoConstants.Properties.FLOWS; -import static org.onosproject.ui.topo.TopoConstants.Properties.INTENTS; -import static org.onosproject.ui.topo.TopoConstants.Properties.LATITUDE; -import static org.onosproject.ui.topo.TopoConstants.Properties.LONGITUDE; -import static org.onosproject.ui.topo.TopoConstants.Properties.TOPOLOGY_SSCS; -import static org.onosproject.ui.topo.TopoConstants.Properties.TUNNELS; -import static org.onosproject.ui.topo.TopoConstants.Properties.VERSION; - -/** - * Our topology overlay. - */ -public class AppUiTopovOverlay extends UiTopoOverlay { - - // NOTE: this must match the ID defined in sampleTopov.js - private static final String OVERLAY_ID = "meowster-overlay"; - - private static final String MY_TITLE = "My App Rocks!"; - private static final String MY_VERSION = "Beta-1.0.0042"; - private static final String MY_DEVICE_TITLE = "I changed the title"; - - private static final ButtonId FOO_BUTTON = new ButtonId("foo"); - private static final ButtonId BAR_BUTTON = new ButtonId("bar"); - - public AppUiTopovOverlay() { - super(OVERLAY_ID); - } - - - @Override - public void modifySummary(PropertyPanel pp) { - pp.title(MY_TITLE) - .typeId(Glyphs.CROWN) - .removeProps( - TOPOLOGY_SSCS, - INTENTS, - TUNNELS, - FLOWS, - VERSION - ) - .addProp(VERSION, MY_VERSION); - } - - @Override - public void modifyDeviceDetails(PropertyPanel pp, DeviceId deviceId) { - pp.title(MY_DEVICE_TITLE); - pp.removeProps(LATITUDE, LONGITUDE); - - pp.addButton(FOO_BUTTON) - .addButton(BAR_BUTTON); - - pp.removeButtons(CoreButtons.SHOW_PORT_VIEW) - .removeButtons(CoreButtons.SHOW_GROUP_VIEW); - } - -} diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java deleted file mode 100644 index 4a97f7bd..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java +++ /dev/null @@ -1,57 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import org.onosproject.net.Link; -import org.onosproject.net.LinkKey; -import org.onosproject.ui.topo.BiLink; -import org.onosproject.ui.topo.LinkHighlight; -import org.onosproject.ui.topo.LinkHighlight.Flavor; - -/** - * Our demo concrete class of a bi-link. We give it state so we can decide - * how to create link highlights. - */ -public class DemoLink extends BiLink { - - private boolean important = false; - private String label = null; - - public DemoLink(LinkKey key, Link link) { - super(key, link); - } - - public DemoLink makeImportant() { - important = true; - return this; - } - - public DemoLink setLabel(String label) { - this.label = label; - return this; - } - - @Override - public LinkHighlight highlight(Enum<?> anEnum) { - Flavor flavor = important ? Flavor.PRIMARY_HIGHLIGHT - : Flavor.SECONDARY_HIGHLIGHT; - return new LinkHighlight(this.linkId(), flavor) - .setLabel(label); - } -} diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java deleted file mode 100644 index cc13d998..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java +++ /dev/null @@ -1,33 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) -/* - * 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 ${package}; - -import org.onosproject.net.Link; -import org.onosproject.net.LinkKey; -import org.onosproject.ui.topo.BiLinkMap; - -/** - * Our concrete link map. - */ -public class DemoLinkMap extends BiLinkMap<DemoLink> { - @Override - protected DemoLink create(LinkKey linkKey, Link link) { - return new DemoLink(linkKey, link); - } -} diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css deleted file mode 100644 index cbf460f9..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css +++ /dev/null @@ -1,2 +0,0 @@ -/* css for sample app topology overlay */ - diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html deleted file mode 100644 index b1c9acbb..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html +++ /dev/null @@ -1,4 +0,0 @@ -<!-- partial HTML --> -<div id="ov-sample-topov"> - <p>This is a hidden view .. just a placeholder to house the javascript</p> -</div> diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js deleted file mode 100644 index 328380c0..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js +++ /dev/null @@ -1,104 +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. - */ - -/* - Sample Demo module. This contains the "business logic" for the topology - overlay that we are implementing. - */ - -(function () { - 'use strict'; - - // injected refs - var $log, fs, flash, wss; - - // constants - var displayStart = 'sampleTopovDisplayStart', - displayUpdate = 'sampleTopovDisplayUpdate', - displayStop = 'sampleTopovDisplayStop'; - - // internal state - var currentMode = null; - - - // === --------------------------- - // === Helper functions - - function sendDisplayStart(mode) { - wss.sendEvent(displayStart, { - mode: mode - }); - } - - function sendDisplayUpdate(what) { - wss.sendEvent(displayUpdate, { - id: what ? what.id : '' - }); - } - - function sendDisplayStop() { - wss.sendEvent(displayStop); - } - - // === --------------------------- - // === Main API functions - - function startDisplay(mode) { - if (currentMode === mode) { - $log.debug('(in mode', mode, 'already)'); - } else { - currentMode = mode; - sendDisplayStart(mode); - flash.flash('Starting display mode: ' + mode); - } - } - - function updateDisplay(m) { - if (currentMode) { - sendDisplayUpdate(m); - } - } - - function stopDisplay() { - if (currentMode) { - currentMode = null; - sendDisplayStop(); - flash.flash('Canceling display mode'); - return true; - } - return false; - } - - // === --------------------------- - // === Module Factory Definition - - angular.module('ovSampleTopov', []) - .factory('SampleTopovDemoService', - ['$log', 'FnService', 'FlashService', 'WebSocketService', - - function (_$log_, _fs_, _flash_, _wss_) { - $log = _$log_; - fs = _fs_; - flash = _flash_; - wss = _wss_; - - return { - startDisplay: startDisplay, - updateDisplay: updateDisplay, - stopDisplay: stopDisplay - }; - }]); -}()); diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js deleted file mode 100644 index 7ebc030a..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js +++ /dev/null @@ -1,143 +0,0 @@ -// sample topology overlay - client side -// -// This is the glue that binds our business logic (in sampleTopovDemo.js) -// to the overlay framework. - -(function () { - 'use strict'; - - // injected refs - var $log, tov, stds; - - // internal state should be kept in the service module (not here) - - // our overlay definition - var overlay = { - // NOTE: this must match the ID defined in AppUiTopovOverlay - overlayId: 'meowster-overlay', - glyphId: '*star4', - tooltip: 'Sample Meowster Topo Overlay', - - // These glyphs get installed using the overlayId as a prefix. - // e.g. 'star4' is installed as 'meowster-overlay-star4' - // They can be referenced (from this overlay) as '*star4' - // That is, the '*' prefix stands in for 'meowster-overlay-' - glyphs: { - star4: { - vb: '0 0 8 8', - d: 'M1,4l2,-1l1,-2l1,2l2,1l-2,1l-1,2l-1,-2z' - }, - banner: { - vb: '0 0 6 6', - d: 'M1,1v4l2,-2l2,2v-4z' - } - }, - - activate: function () { - $log.debug("Sample topology overlay ACTIVATED"); - }, - deactivate: function () { - stds.stopDisplay(); - $log.debug("Sample topology overlay DEACTIVATED"); - }, - - // detail panel button definitions - buttons: { - foo: { - gid: 'chain', - tt: 'A FOO action', - cb: function (data) { - $log.debug('FOO action invoked with data:', data); - } - }, - bar: { - gid: '*banner', - tt: 'A BAR action', - cb: function (data) { - $log.debug('BAR action invoked with data:', data); - } - } - }, - - // Key bindings for traffic overlay buttons - // NOTE: fully qual. button ID is derived from overlay-id and key-name - keyBindings: { - 0: { - cb: function () { stds.stopDisplay(); }, - tt: 'Cancel Display Mode', - gid: 'xMark' - }, - V: { - cb: function () { stds.startDisplay('mouse'); }, - tt: 'Start Mouse Mode', - gid: '*banner' - }, - F: { - cb: function () { stds.startDisplay('link'); }, - tt: 'Start Link Mode', - gid: 'chain' - }, - G: { - cb: buttonCallback, - tt: 'Uses the G key', - gid: 'crown' - }, - - _keyOrder: [ - '0', 'V', 'F', 'G' - ] - }, - - hooks: { - // hook for handling escape key - // Must return true to consume ESC, false otherwise. - escape: function () { - // Must return true to consume ESC, false otherwise. - return stds.stopDisplay(); - }, - - // hooks for when the selection changes... - empty: function () { - selectionCallback('empty'); - }, - single: function (data) { - selectionCallback('single', data); - }, - multi: function (selectOrder) { - selectionCallback('multi', selectOrder); - tov.addDetailButton('foo'); - tov.addDetailButton('bar'); - }, - mouseover: function (m) { - // m has id, class, and type properties - $log.debug('mouseover:', m); - stds.updateDisplay(m); - }, - mouseout: function () { - $log.debug('mouseout'); - stds.updateDisplay(); - } - } - }; - - - function buttonCallback(x) { - $log.debug('Toolbar-button callback', x); - } - - function selectionCallback(x, d) { - $log.debug('Selection callback', x, d); - } - - // invoke code to register with the overlay service - angular.module('ovSampleTopov') - .run(['$log', 'TopoOverlayService', 'SampleTopovDemoService', - - function (_$log_, _tov_, _stds_) { - $log = _$log_; - tov = _tov_; - stds = _stds_; - tov.register(overlay); - }]); - -}()); diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html deleted file mode 100644 index 0ed6f53c..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html +++ /dev/null @@ -1 +0,0 @@ -<link rel="stylesheet" href="app/view/sampleTopov/sampleTopov.css">
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html deleted file mode 100644 index 4fed1f08..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html +++ /dev/null @@ -1,2 +0,0 @@ -<script src="app/view/sampleTopov/sampleTopovDemo.js"></script> -<script src="app/view/sampleTopov/sampleTopovOverlay.js"></script>
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties deleted file mode 100644 index a1213b40..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties +++ /dev/null @@ -1,21 +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. -# - -#Thu Dec 04 09:24:50 PST 2014 -package=it.pkg -version=0.1-SNAPSHOT -groupId=archetype.it -artifactId=basic diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt deleted file mode 100644 index e69de29b..00000000 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt +++ /dev/null |