diff options
Diffstat (limited to 'sdnr/wt/odlux/core/model')
9 files changed, 120 insertions, 209 deletions
diff --git a/sdnr/wt/odlux/core/model/pom.xml b/sdnr/wt/odlux/core/model/pom.xml index c027e5ad8..f06f994dc 100644 --- a/sdnr/wt/odlux/core/model/pom.xml +++ b/sdnr/wt/odlux/core/model/pom.xml @@ -1,54 +1,55 @@ <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> + 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>org.onap.ccsdk.features.sdnr.wt</groupId> - <artifactId>sdnr-wt-odlux-core-model</artifactId> - <version>0.4.1-SNAPSHOT</version> - <name>ccsdk-features-sdnr-wt :: ${project.artifactId}</name> - <packaging>bundle</packaging> + <groupId>org.onap.ccsdk.features.sdnr.wt</groupId> + <artifactId>sdnr-wt-odlux-core-model</artifactId> + <version>0.4.1-SNAPSHOT</version> + <name>ccsdk-features-sdnr-wt :: ${project.artifactId}</name> + <packaging>bundle</packaging> - <parent> - <groupId>org.onap.ccsdk.parent</groupId> - <artifactId>binding-parent</artifactId> - <version>1.2.1-SNAPSHOT</version> - <relativePath /> - </parent> - <licenses> - <license> - <name>Apache License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0</url> - </license> - </licenses> + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>binding-parent</artifactId> + <version>1.2.1-SNAPSHOT</version> + <relativePath /> + </parent> + <licenses> + <license> + <name>Apache License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0</url> + </license> + </licenses> - <dependencies> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <instructions> - <Import-Package>*</Import-Package> - <Export-Package>org.onap.ccsdk.features.sdnr.wt.odlux.*,com.opensymphony.*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project>
\ No newline at end of file + <dependencies> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.compendium</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> + + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Import-Package>*</Import-Package> + <Export-Package>org.onap.ccsdk.features.sdnr.wt.odlux.*,com.opensymphony.*</Export-Package> + </instructions> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/sdnr/wt/odlux/core/model/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java b/sdnr/wt/odlux/core/model/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java index 10705b0ea..133b08494 100644 --- a/sdnr/wt/odlux/core/model/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java +++ b/sdnr/wt/odlux/core/model/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java @@ -1,12 +1,12 @@ /* * Copyright 2002-2003,2009 The Apache Software Foundation. - * + * * 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. @@ -27,7 +27,7 @@ import java.util.*; * * It has come out of many months of frustrating use of multiple application servers at Atlassian, * please don't change things unless you're sure they're not going to break in one server or another! - * + * * It was brought in from oscore trunk revision 147. * * @author $Author$ @@ -37,7 +37,7 @@ public class ClassLoaderUtil { //~ Methods //////////////////////////////////////////////////////////////// /** - * Load all resources with a given name, potentially aggregating all results + * Load all resources with a given name, potentially aggregating all results * from the searched classloaders. If no results are found, the resource name * is prepended by '/' and tried again. * @@ -51,9 +51,9 @@ public class ClassLoaderUtil { * @param resourceName The name of the resources to load * @param callingClass The Class object of the calling object */ - public static Iterator<URL> getResources(String resourceName, Class callingClass, boolean aggregate) throws IOException { + public static Iterator<URL> getResources(String resourceName, Class<?> callingClass, boolean aggregate) throws IOException { - AggregateIterator<URL> iterator = new AggregateIterator<URL>(); + AggregateIterator<URL> iterator = new AggregateIterator<>(); iterator.addEnumeration(Thread.currentThread().getContextClassLoader().getResources(resourceName)); @@ -69,7 +69,7 @@ public class ClassLoaderUtil { } } - if (!iterator.hasNext() && (resourceName != null) && ((resourceName.length() == 0) || (resourceName.charAt(0) != '/'))) { + if (!iterator.hasNext() && resourceName != null && (resourceName.length() == 0 || resourceName.charAt(0) != '/')) { return getResources('/' + resourceName, callingClass, aggregate); } @@ -89,7 +89,7 @@ public class ClassLoaderUtil { * @param resourceName The name IllegalStateException("Unable to call ")of the resource to load * @param callingClass The Class object of the calling object */ - public static URL getResource(String resourceName, Class callingClass) { + public static URL getResource(String resourceName, Class<?> callingClass) { URL url = Thread.currentThread().getContextClassLoader().getResource(resourceName); if (url == null) { @@ -104,7 +104,7 @@ public class ClassLoaderUtil { } } - if ((url == null) && (resourceName != null) && ((resourceName.length() == 0) || (resourceName.charAt(0) != '/'))) { + if (url == null && resourceName != null && (resourceName.length() == 0 || resourceName.charAt(0) != '/')) { return getResource('/' + resourceName, callingClass); } @@ -119,11 +119,11 @@ public class ClassLoaderUtil { * @param resourceName The name of the resource to load * @param callingClass The Class object of the calling object */ - public static InputStream getResourceAsStream(String resourceName, Class callingClass) { + public static InputStream getResourceAsStream(String resourceName, Class<?> callingClass) { URL url = getResource(resourceName, callingClass); try { - return (url != null) ? url.openStream() : null; + return url != null ? url.openStream() : null; } catch (IOException e) { return null; } @@ -144,7 +144,7 @@ public class ClassLoaderUtil { * @param callingClass The Class object of the calling object * @throws ClassNotFoundException If the class cannot be found anywhere. */ - public static Class loadClass(String className, Class callingClass) throws ClassNotFoundException { + public static Class<?> loadClass(String className, Class<?> callingClass) throws ClassNotFoundException { try { return Thread.currentThread().getContextClassLoader().loadClass(className); } catch (ClassNotFoundException e) { @@ -166,10 +166,10 @@ public class ClassLoaderUtil { */ static class AggregateIterator<E> implements Iterator<E> { - LinkedList<Enumeration<E>> enums = new LinkedList<Enumeration<E>>(); + LinkedList<Enumeration<E>> enums = new LinkedList<>(); Enumeration<E> cur = null; E next = null; - Set<E> loaded = new HashSet<E>(); + Set<E> loaded = new HashSet<>(); public AggregateIterator<E> addEnumeration(Enumeration<E> e) { if (e.hasMoreElements()) { @@ -184,10 +184,12 @@ public class ClassLoaderUtil { return this; } + @Override public boolean hasNext() { - return (next != null); + return next != null; } + @Override public E next() { if (next != null) { E prev = next; @@ -228,8 +230,9 @@ public class ClassLoaderUtil { } + @Override public void remove() { throw new UnsupportedOperationException(); } } -}
\ No newline at end of file +} diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/ClassLoaderUtilExt.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/ClassLoaderUtilExt.java index 08d243666..4b58aac44 100644 --- a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/ClassLoaderUtilExt.java +++ b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/ClassLoaderUtilExt.java @@ -6,9 +6,9 @@ * ================================================================================================= * 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 @@ -30,15 +30,14 @@ public class ClassLoaderUtilExt { final static Logger LOG = LoggerFactory.getLogger(ClassLoaderUtilExt.class); - public static URL getResource(String resourceName, Class callingClass) { + public static URL getResource(String resourceName, Class<?> callingClass) { Iterator<URL> urls = null; URL url = null; try { urls = getResources(resourceName, callingClass, true); } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + LOG.debug("No resource {}",resourceName); } if (urls != null) { while (urls.hasNext()) { @@ -51,12 +50,20 @@ public class ClassLoaderUtilExt { if (url == null) { LOG.debug("res currently not found. try to find with bundle"); Bundle b = FrameworkUtil.getBundle(callingClass); - url = b.getEntry(resourceName); + if(b!=null) + { + url = b.getEntry(resourceName); + } + else { + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + url = loader.getResource(resourceName); + } + } return url; } - public static Iterator<URL> getResources(String resourceName, Class callingClass, boolean aggregate) + public static Iterator<URL> getResources(String resourceName, Class<?> callingClass, boolean aggregate) throws IOException { return ClassLoaderUtil.getResources(resourceName, callingClass, aggregate); } diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/IndexOdlBundle.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/IndexOdlBundle.java new file mode 100644 index 000000000..66ff5658a --- /dev/null +++ b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/IndexOdlBundle.java @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2019 Red Hat, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles; + +public interface IndexOdlBundle { + +} diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundle.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundle.java index 448169fad..e85c88b6f 100644 --- a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundle.java +++ b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundle.java @@ -21,11 +21,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; -import java.util.ArrayList; -import java.util.List; /** * At startup of each karaf bundle, each UI module creates an instance of this class via blueprint. @@ -81,22 +78,6 @@ public class OdluxBundle { public void initialize() { LOG.info("Registering resources"); - try { - List<String> resources = this.getResourceFiles("/odlux"); - if (resources.size() > 0) { - for (String res : resources) { - LOG.debug("found res " + res); - } - } else { - String res = "/odlux/" + this.getBundleName() + ".js"; - if (this.hasResource(res)) { - LOG.debug("found res " + res); - } else - LOG.warn("no resources found in bundle"); - } - } catch (IOException e) { - LOG.debug("problem searching for resources: " + e.getMessage()); - } if (this.loader != null) { if (this.bundleName == null) LOG.error("bundle name is missing. Bundle can not be registered with odlux"); @@ -149,36 +130,4 @@ public class OdluxBundle { return sb.toString(); } - private List<String> getResourceFiles(String path) throws IOException { - List<String> filenames = new ArrayList<>(); - - try { - - InputStream in = getResourceAsStream(path); - if (in != null) { - BufferedReader br = new BufferedReader(new InputStreamReader(in)); - if (br != null) { - String resource; - - while ((resource = br.readLine()) != null) { - filenames.add(resource); - } - } - } - } catch (Exception e) { - LOG.warn("problem loading res " + path); - } - - return filenames; - } - - private InputStream getResourceAsStream(String resource) { - final InputStream in = getContextClassLoader().getResourceAsStream(resource); - - return in == null ? getClass().getResourceAsStream(resource) : in; - } - - private ClassLoader getContextClassLoader() { - return Thread.currentThread().getContextClassLoader(); - } } diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleList.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleList.java deleted file mode 100644 index c2a514399..000000000 --- a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleList.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles; - -import java.util.ArrayList; -import java.util.List; - -public class OdluxBundleList extends ArrayList<OdluxBundle>{ - - /** - * - */ - private static final long serialVersionUID = 8365348398621906220L; - - public List<String> getNames(){ - final List<String> names=new ArrayList<String>(); - for(OdluxBundle b:this) - names.add(b.getBundleName()); - return names; - } - -} diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoader.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoader.java index e288ee3ec..5c8231e9c 100644 --- a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoader.java +++ b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoader.java @@ -6,9 +6,9 @@ * ================================================================================================= * 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 @@ -22,4 +22,7 @@ public interface OdluxBundleLoader { public void addBundle(OdluxBundle bundle); public void removeBundle(OdluxBundle bundle); + + public int getNumberOfBundles(); + } diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoaderImpl.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoaderImpl.java deleted file mode 100644 index 5b15be35c..000000000 --- a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleLoaderImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * 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. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -package org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class OdluxBundleLoaderImpl implements OdluxBundleLoader { - - final static Logger LOG = LoggerFactory.getLogger(OdluxBundleLoaderImpl.class); - private static OdluxBundleLoaderImpl mObj; - - public static OdluxBundleLoaderImpl getInstance() { - if (mObj == null) - mObj = new OdluxBundleLoaderImpl(); - return mObj; - } - - private final List<OdluxBundle> bundles; - - public synchronized List<OdluxBundle> getBundles() { - return this.bundles; - } - - public OdluxBundleLoaderImpl() { - this.bundles = Collections.synchronizedList(new ArrayList<OdluxBundle>()); - mObj = this; - } - - @Override - public synchronized void addBundle(OdluxBundle bundle) { - LOG.debug("odlux bundle " + bundle.getBundleName() + " added"); - this.bundles.add(bundle); - - } - - @Override - public synchronized void removeBundle(OdluxBundle bundle) { - this.bundles.remove(bundle); - LOG.debug("odlux bundle " + bundle.getBundleName() + " removed"); - - } - -} diff --git a/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleResourceAccess.java b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleResourceAccess.java new file mode 100644 index 000000000..e2ec04f83 --- /dev/null +++ b/sdnr/wt/odlux/core/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/model/bundles/OdluxBundleResourceAccess.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2019 Red Hat, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles; + +import java.util.List; + +public interface OdluxBundleResourceAccess { + + boolean hasResource(String fn); + String getResourceFileContent(String fn, List<String> bundleNames); + String getBundleName(); + +} |