use of org.ops4j.util.property.DictionaryPropertyResolver in project fabric8 by jboss-fuse.
the class Activator method updated.
public void updated(Dictionary<String, ?> config) {
PropertyResolver propertyResolver;
if (config == null) {
propertyResolver = new PropertyResolver() {
@Override
public String get(String propertyName) {
return m_bundleContext.getProperty(propertyName);
}
};
} else {
propertyResolver = new DictionaryPropertyResolver(config);
}
MavenConfiguration mavenConfig = new MavenConfigurationImpl(propertyResolver, PID);
MavenResolver resolver = new AetherBasedResolver(mavenConfig);
MavenResolver oldResolver = m_resolver.getAndSet(resolver);
ServiceRegistration<MavenResolver> registration = m_bundleContext.registerService(MavenResolver.class, resolver, null);
registration = m_resolverReg.getAndSet(registration);
if (registration != null) {
registration.unregister();
}
if (oldResolver != null) {
try {
oldResolver.close();
} catch (IOException e) {
// Ignore
}
}
}
use of org.ops4j.util.property.DictionaryPropertyResolver in project fabric8 by jboss-fuse.
the class MavenResolvers method createMavenResolver.
public static MavenResolver createMavenResolver(Mirror mirror, Dictionary<String, String> properties, String pid, RepositorySystem repositorySystem) {
PropertiesPropertyResolver syspropsResolver = new PropertiesPropertyResolver(System.getProperties());
DictionaryPropertyResolver propertyResolver = new DictionaryPropertyResolver(properties, syspropsResolver);
MavenConfigurationImpl config = new MavenConfigurationImpl(propertyResolver, pid);
return new AetherBasedResolver(config, mirror, repositorySystem);
}
use of org.ops4j.util.property.DictionaryPropertyResolver in project fabric8 by jboss-fuse.
the class MavenProxyServletSupportTest method createResolver.
private MavenResolver createResolver(String localRepo, List<String> remoteRepos, String proxyProtocol, String proxyHost, int proxyPort, String proxyUsername, String proxyPassword, String proxyNonProxyHosts) {
Hashtable<String, String> props = new Hashtable<>();
props.put("localRepository", localRepo);
if (remoteRepos != null) {
props.put("repositories", join(remoteRepos, ","));
}
MavenConfigurationImpl config = new MavenConfigurationImpl(new DictionaryPropertyResolver(props), null);
if (proxyProtocol != null) {
Proxy proxy = new Proxy();
proxy.setProtocol(proxyProtocol);
proxy.setHost(proxyHost);
proxy.setPort(proxyPort);
proxy.setUsername(proxyUsername);
proxy.setPassword(proxyPassword);
proxy.setNonProxyHosts(proxyNonProxyHosts);
config.getSettings().addProxy(proxy);
}
return new AetherBasedResolver(config);
}
use of org.ops4j.util.property.DictionaryPropertyResolver in project fabric8 by jboss-fuse.
the class ProfileWatcherImpl method retrieveMavenConfiguration.
protected MavenConfiguration retrieveMavenConfiguration() {
MavenConfiguration mavenConfiguration = null;
try {
Configuration configuration = configurationAdmin.get().getConfiguration("org.ops4j.pax.url.mvn");
if (configuration != null) {
Dictionary dictonary = configuration.getProperties();
if (dictonary != null) {
DictionaryPropertyResolver resolver = new DictionaryPropertyResolver(dictonary);
mavenConfiguration = new MavenConfigurationImpl(resolver, "org.ops4j.pax.url.mvn");
}
}
} catch (IOException e) {
LOG.error("Error retrieving maven configuration", e);
}
return mavenConfiguration;
}
use of org.ops4j.util.property.DictionaryPropertyResolver in project karaf by apache.
the class FeaturesProcessingSerializer method read.
/**
* Reads {@link FeaturesProcessing features processing model} from input stream
* @param stream
* @param versions additional properties to resolve placeholders in features processing XML
* @return
*/
public FeaturesProcessing read(InputStream stream, Properties versions) throws Exception {
Unmarshaller unmarshaller = FEATURES_PROCESSING_CONTEXT.createUnmarshaller();
UnmarshallerHandler handler = unmarshaller.getUnmarshallerHandler();
// BundleContextPropertyResolver gives access to e.g., ${karaf.base}
final PropertyResolver resolver = bundleContext == null ? new DictionaryPropertyResolver(versions) : new DictionaryPropertyResolver(versions, new BundleContextPropertyResolver(bundleContext));
// indirect unmarshaling with property resolution inside XML attribute values and CDATA
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
XMLReader xmlReader = spf.newSAXParser().getXMLReader();
xmlReader.setContentHandler(new ResolvingContentHandler(new Properties() {
@Override
public String getProperty(String key) {
return resolver.get(key);
}
@Override
public String getProperty(String key, String defaultValue) {
String value = resolver.get(key);
return value == null ? defaultValue : value;
}
}, handler));
xmlReader.parse(new InputSource(stream));
return (FeaturesProcessing) handler.getResult();
}
Aggregations