Update to Felix SCR 2.1.26 release
diff --git a/atomos-parent/pom.xml b/atomos-parent/pom.xml
index 87b6e44..77b447d 100644
--- a/atomos-parent/pom.xml
+++ b/atomos-parent/pom.xml
@@ -216,7 +216,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
- <version>2.1.16</version>
+ <version>2.1.26</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
diff --git a/atomos.examples/atomos.examples.jlink/pom.xml b/atomos.examples/atomos.examples.jlink/pom.xml
index 0fbba62..aefd57c 100644
--- a/atomos.examples/atomos.examples.jlink/pom.xml
+++ b/atomos.examples/atomos.examples.jlink/pom.xml
@@ -369,36 +369,18 @@
module org.apache.felix.scr {
requires java.logging;
requires java.management;
+ requires java.xml;
requires transitive org.apache.felix.gogo.runtime;
requires transitive osgi.core;
- requires transitive
- osgi.promise;
+ requires transitive osgi.promise;
- exports
- org.apache.felix.scr.component;
- exports org.apache.felix.scr.impl;
- exports org.apache.felix.scr.impl.config;
- exports org.apache.felix.scr.impl.helper;
- exports org.apache.felix.scr.impl.inject;
- exports
- org.apache.felix.scr.impl.inject.field;
- exports org.apache.felix.scr.impl.inject.methods;
- exports org.apache.felix.scr.impl.logger;
- exports org.apache.felix.scr.impl.manager;
- exports
- org.apache.felix.scr.impl.metadata;
- exports
- org.apache.felix.scr.impl.parser;
- exports org.apache.felix.scr.impl.runtime;
- exports org.apache.felix.scr.impl.xml;
+ exports org.apache.felix.scr.component;
exports org.apache.felix.scr.info;
- exports org.kxml2.io;
exports org.osgi.service.component;
- exports
- org.osgi.service.component.runtime;
+ exports org.osgi.service.component.runtime;
exports org.osgi.service.component.runtime.dto;
- exports org.xmlpull.v1;
+ opens org.apache.felix.scr.impl;
}
</moduleInfoSource>
</module>
diff --git a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/LauncherImpl.java b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/LauncherImpl.java
index ad2b2d7..00f7c86 100644
--- a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/LauncherImpl.java
+++ b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/LauncherImpl.java
@@ -33,6 +33,9 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
import org.apache.felix.atomos.utils.api.Context;
import org.apache.felix.atomos.utils.api.FileType;
import org.apache.felix.atomos.utils.api.Launcher;
@@ -52,7 +55,6 @@
import org.apache.felix.atomos.utils.core.scr.mock.PathBundle;
import org.apache.felix.scr.impl.logger.BundleLogger;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
-import org.apache.felix.scr.impl.parser.KXml2SAXParser;
import org.apache.felix.scr.impl.xml.XmlHandler;
import org.osgi.framework.Constants;
@@ -110,27 +112,15 @@
XmlHandler handler = new XmlHandler(new PathBundle(jar), logger, true,
true);
- KXml2SAXParser parser = new KXml2SAXParser(in);
- parser.parseXML(handler);
+ final SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setNamespaceAware(true);
+ final SAXParser parser = factory.newSAXParser();
+
+ parser.parse(stream, handler);
list.addAll(handler.getComponentMetadataList());
}
}
-
- // //Felix SCR Version-> 2.1.17-SNAPSHOT
- // //https://github.com/apache/felix-dev/commit/2d035e21d69c2bb8892d5d5d3e1027befcc3c50b#diff-dad1c7cc45e5c46bca969c95ac501546
- // while (st.hasMoreTokens())
- // {
- // String descriptorLocation = st.nextToken();
- // InputStream stream = jar.getInputStream(jar.getEntry(descriptorLocation));
- // XmlHandler handler = new XmlHandler(new PathBundle(jar), logger, true, true);
- //
- // final SAXParserFactory factory = SAXParserFactory.newInstance();
- // factory.setNamespaceAware(true);
- // final SAXParser parser = factory.newSAXParser();
- // parser.parse( stream, handler );
- // list.addAll(handler.getComponentMetadataList());
- // }
}
List<ComponentDescription> cds = list.stream().map(cmd -> {
diff --git a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptyBundeLogger.java b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptyBundeLogger.java
index e9af209..e352f2d 100644
--- a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptyBundeLogger.java
+++ b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptyBundeLogger.java
@@ -13,456 +13,38 @@
*/
package org.apache.felix.atomos.utils.core.scr.mock;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.security.cert.X509Certificate;
-import java.util.Collection;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
-
import org.apache.felix.scr.impl.logger.BundleLogger;
-import org.apache.felix.scr.impl.logger.ScrLogger;
-import org.apache.felix.scr.impl.manager.ScrConfiguration;
+import org.apache.felix.scr.impl.logger.ComponentLogger;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.BundleListener;
-import org.osgi.framework.Filter;
-import org.osgi.framework.FrameworkListener;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceFactory;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceObjects;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.framework.Version;
-public class EmptyBundeLogger extends BundleLogger
+public class EmptyBundeLogger implements BundleLogger, ComponentLogger
{
- static Bundle b = new Bundle()
- {
- @Override
- public <A> A adapt(Class<A> type)
- {
- return null;
- }
-
- @Override
- public int compareTo(Bundle o)
- {
- return 0;
- }
-
- @Override
- public Enumeration<URL> findEntries(String path, String filePattern,
- boolean recurse)
- {
- return null;
- }
-
- @Override
- public BundleContext getBundleContext()
- {
- return null;
- }
-
- @Override
- public long getBundleId()
- {
- return 0;
- }
-
- @Override
- public File getDataFile(String filename)
- {
- return null;
- }
-
- @Override
- public URL getEntry(String path)
- {
- return null;
- }
-
- @Override
- public Enumeration<String> getEntryPaths(String path)
- {
- return null;
- }
-
- @Override
- public Dictionary<String, String> getHeaders()
- {
- return null;
- }
-
- @Override
- public Dictionary<String, String> getHeaders(String locale)
- {
- return null;
- }
-
- @Override
- public long getLastModified()
- {
- return 0;
- }
-
- @Override
- public String getLocation()
- {
- return null;
- }
-
- @Override
- public ServiceReference<?>[] getRegisteredServices()
- {
- return null;
- }
-
- @Override
- public URL getResource(String name)
- {
- return null;
- }
-
- @Override
- public Enumeration<URL> getResources(String name) throws IOException
- {
- return null;
- }
-
- @Override
- public ServiceReference<?>[] getServicesInUse()
- {
- return null;
- }
-
- @Override
- public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(
- int signersType)
- {
- return null;
- }
-
- @Override
- public int getState()
- {
- return 0;
- }
-
- @Override
- public String getSymbolicName()
- {
- return null;
- }
-
- @Override
- public Version getVersion()
- {
- return null;
- }
-
- @Override
- public boolean hasPermission(Object permission)
- {
- return false;
- }
-
- @Override
- public Class<?> loadClass(String name) throws ClassNotFoundException
- {
- return null;
- }
-
- @Override
- public void start() throws BundleException
- {
- }
-
- @Override
- public void start(int options) throws BundleException
- {
- }
-
- @Override
- public void stop() throws BundleException
- {
- }
-
- @Override
- public void stop(int options) throws BundleException
- {
- }
-
- @Override
- public void uninstall() throws BundleException
- {
- }
-
- @Override
- public void update() throws BundleException
- {
- }
-
- @Override
- public void update(InputStream input) throws BundleException
- {
- }
- };
- static BundleContext bc = new BundleContext()
- {
- @Override
- public void addBundleListener(BundleListener listener)
- {
- }
-
- @Override
- public void addFrameworkListener(FrameworkListener listener)
- {
- }
-
- @Override
- public void addServiceListener(ServiceListener listener)
- {
- }
-
- @Override
- public void addServiceListener(ServiceListener listener, String filter)
- throws InvalidSyntaxException
- {
- }
-
- @Override
- public Filter createFilter(String filter) throws InvalidSyntaxException
- {
- return null;
- }
-
- @Override
- public ServiceReference<?>[] getAllServiceReferences(String clazz, String filter)
- throws InvalidSyntaxException
- {
- return null;
- }
-
- @Override
- public Bundle getBundle()
- {
- return b;
- }
-
- @Override
- public Bundle getBundle(long id)
- {
- return null;
- }
-
- @Override
- public Bundle getBundle(String location)
- {
- return null;
- }
-
- @Override
- public Bundle[] getBundles()
- {
- return null;
- }
-
- @Override
- public File getDataFile(String filename)
- {
- return null;
- }
-
- @Override
- public String getProperty(String key)
- {
- return null;
- }
-
- @Override
- public <S> S getService(ServiceReference<S> reference)
- {
- return null;
- }
-
- @Override
- public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference)
- {
- return null;
- }
-
- @Override
- public <S> ServiceReference<S> getServiceReference(Class<S> clazz)
- {
- return null;
- }
-
- @Override
- public ServiceReference<?> getServiceReference(String clazz)
- {
- return null;
- }
-
- @Override
- public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz,
- String filter) throws InvalidSyntaxException
- {
- return null;
- }
-
- @Override
- public ServiceReference<?>[] getServiceReferences(String clazz, String filter)
- throws InvalidSyntaxException
- {
- return null;
- }
-
- @Override
- public Bundle installBundle(String location) throws BundleException
- {
- return null;
- }
-
- @Override
- public Bundle installBundle(String location, InputStream input)
- throws BundleException
- {
- return null;
- }
-
- @Override
- public <S> ServiceRegistration<S> registerService(Class<S> clazz, S service,
- Dictionary<String, ?> properties)
- {
- return null;
- }
-
- @Override
- public <S> ServiceRegistration<S> registerService(Class<S> clazz,
- ServiceFactory<S> factory, Dictionary<String, ?> properties)
- {
- return null;
- }
-
- @Override
- public ServiceRegistration<?> registerService(String clazz, Object service,
- Dictionary<String, ?> properties)
- {
- return null;
- }
-
- @Override
- public ServiceRegistration<?> registerService(String[] clazzes, Object service,
- Dictionary<String, ?> properties)
- {
- return null;
- }
-
- @Override
- public void removeBundleListener(BundleListener listener)
- {
- }
-
- @Override
- public void removeFrameworkListener(FrameworkListener listener)
- {
- }
-
- @Override
- public void removeServiceListener(ServiceListener listener)
- {
- }
-
- @Override
- public boolean ungetService(ServiceReference<?> reference)
- {
- return false;
- }
- };
- static ScrConfiguration conf = new ScrConfiguration()
- {
- @Override
- public int getLogLevel()
- {
- return 0;
- }
-
- @Override
- public boolean globalExtender()
- {
- return false;
- }
-
- @Override
- public boolean infoAsService()
- {
- return false;
- }
-
- @Override
- public boolean isFactoryEnabled()
- {
- return false;
- }
-
- @Override
- public boolean keepInstances()
- {
- return false;
- }
-
- @Override
- public long lockTimeout()
- {
- return 0;
- }
-
- @Override
- public long serviceChangecountTimeout()
- {
- return 0;
- }
-
- @Override
- public long stopTimeout()
- {
- return 0;
- }
- };
- static ScrLogger scrLogger = new EmptySCRLogger(conf, bc);
-
- public EmptyBundeLogger()
- {
- super(bc, scrLogger);
- }
@Override
- public void close()
+ public void log(Level level, String message, Throwable ex)
{
}
@Override
- public boolean isLogEnabled(int level)
+ public void log(Level level, String message, Throwable ex, Object... args)
+ {
+ }
+
+ @Override
+ public boolean isLogEnabled(Level level)
{
return false;
}
@Override
- public boolean log(int level, String message, Throwable ex)
+ public ComponentLogger component(Bundle m_bundle, String implementationClassName,
+ String name)
{
- return true;
+ return this;
}
@Override
- public boolean log(int level, String pattern, Throwable ex, Object... arguments)
+ public void setComponentId(long m_componentId)
{
- return true;
}
}
diff --git a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptySCRLogger.java b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptySCRLogger.java
deleted file mode 100644
index 1900755..0000000
--- a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/scr/mock/EmptySCRLogger.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.felix.atomos.utils.core.scr.mock;
-
-import org.apache.felix.scr.impl.logger.ScrLogger;
-import org.apache.felix.scr.impl.manager.ScrConfiguration;
-import org.osgi.framework.BundleContext;
-
-public class EmptySCRLogger extends ScrLogger
-{
- public EmptySCRLogger(ScrConfiguration config, BundleContext bundleContext)
- {
- super(config, bundleContext);
- }
-
- @Override
- public void close()
- {
- }
-
- @Override
- public boolean isLogEnabled(int level)
- {
- return false;
- }
-
- @Override
- public boolean log(int level, String message, Throwable ex)
- {
- return true;
- }
-
- @Override
- public boolean log(int level, String pattern, Throwable ex, Object... arguments)
- {
- return true;
- }
-}