public Properties toProperties() { Properties rc = new Properties(); rc.setProperty(FAB_MODULE_ID, id.toString()); rc.setProperty(FAB_MODULE_NAME, emptyIfNull(name)); rc.setProperty(FAB_MODULE_EXTENSION, ""+extensionModule); rc.setProperty(FAB_MODULE_DESCRIPTION, emptyIfNull(description)); rc.setProperty(FAB_MODULE_LONG_DESCRIPTION, emptyIfNull(longDescription)); rc.setProperty(FAB_MODULE_DEFAULT_EXTENSIONS, join(defaultExtensions, " ")); rc.setProperty(FAB_MODULE_EXTENDS, join(extendsModules, " ")); rc.setProperty(FAB_MODULE_ENDORSED_EXTENSIONS, join(endorsedExtensions, " ")); return rc; }
public Properties toProperties() { Properties rc = new Properties(); rc.setProperty(FAB_MODULE_ID, id.toString()); rc.setProperty(FAB_MODULE_NAME, emptyIfNull(name)); rc.setProperty(FAB_MODULE_EXTENSION, ""+extensionModule); rc.setProperty(FAB_MODULE_DESCRIPTION, emptyIfNull(description)); rc.setProperty(FAB_MODULE_LONG_DESCRIPTION, emptyIfNull(longDescription)); rc.setProperty(FAB_MODULE_DEFAULT_EXTENSIONS, join(defaultExtensions, " ")); rc.setProperty(FAB_MODULE_EXTENDS, join(extendsModules, " ")); rc.setProperty(FAB_MODULE_ENDORSED_EXTENSIONS, join(endorsedExtensions, " ")); return rc; }
/** * Store extension configuration in the config admin. * * @param id * @return */ @Override protected void setEnabledExtensions(VersionedDependencyId id, List<String> values) { setConfigProperty("extensions."+id.toString(), join(values, " ")); }
/** * Store extension configuration in the config admin. * * @param id * @return */ @Override protected void setEnabledExtensions(VersionedDependencyId id, List<String> values) { setConfigProperty("extensions."+id.toString(), join(values, " ")); }
Pattern.compile( "([a-zA-Z_0-9-]+)=([-!\"'()*+,.0-9A-Z_a-z%;:=/]+)" ); private static final String ALLOWED_PACKAGE_CLAUSES = Strings.join(Arrays.asList(Constants.directives), ",") + ",version";
sharedFilter = DependencyTreeFilters.parseShareFilter(join(sharedFilterPatterns, " ")); requireBundleFilter = DependencyTreeFilters.parseRequireBundleFilter(join(requireBundleFilterPatterns, " ")); optionalDependencyFilter = DependencyTreeFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); excludeDependencyFilter = DependencyTreeFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalDependencyFilter); importExportFilter = DependencyTreeFilters.parse(join(importExportFilterPatterns, " ")); Filter<Dependency> optionalFilter = DependencyFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); Filter<Dependency> excludeFilter = DependencyFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalFilter); LOG.debug("resolved: bundleClassPath: " + Strings.join(bundleClassPath, "\t\n")); LOG.debug("resolved: requireBundles: " + Strings.join(requireBundles, "\t\n")); LOG.debug("resolved: importPackages: " + Strings.join(importPackages.keySet(), "\t\n")); instructions.setProperty(ServiceConstants.INSTR_BUNDLE_CLASSPATH, Strings.join(bundleClassPath, ",")); instructions.setProperty(ServiceConstants.INSTR_REQUIRE_BUNDLE, Strings.join(requireBundles, ",")); instructions.setProperty(ServiceConstants.INSTR_FAB_MODULE_ID, moduleId.toString()); instructions.setProperty(ServiceConstants.INSTR_FAB_PROVIDED_DEPENDENCY, join(sharedFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_DEPENDENCY_REQUIRE_BUNDLE, join(requireBundleFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_EXCLUDE_DEPENDENCY, join(excludeDependencyFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_OPTIONAL_DEPENDENCY, join(optionalDependencyPatterns, " "));
@Override protected Object doExecute() throws Exception { OsgiModuleRegistry registry = Activator.registry; List<ModuleRegistry.Module> modules = registry.getApplicationModules(); Map<VersionedDependencyId, Bundle> installed = registry.getInstalled(); Table table = new Table("{1} | {2} | {3} | {4}", 3, -20, -10, -40); table.add("Id", "Name", "Version", "Description"); for (ModuleRegistry.Module module : modules) { ModuleRegistry.VersionedModule latest = module.latest(); HashSet<VersionedDependencyId> s = new HashSet<VersionedDependencyId>(module.getVersionIds()); s.retainAll(installed.keySet()); if( !s.isEmpty() && (name==null || module.getName().indexOf(name) >=0) ) { HashSet<Long> bundles = new HashSet<Long>(); for (VersionedDependencyId dependencyId : s) { bundles.add(installed.get(dependencyId).getBundleId()); } table.add(Strings.join(bundles, ", "), module.getName(), latest.getId().getVersion(), latest.getDescription()); } } table.print(session.getConsole()); return null; }
Pattern.compile( "([a-zA-Z_0-9-]+)=([-!\"'()*+,.0-9A-Z_a-z%;:=/]+)" ); private static final String ALLOWED_PACKAGE_CLAUSES = Strings.join(Arrays.asList(Constants.directives), ",") + ",version";
sharedFilter = DependencyTreeFilters.parseShareFilter(join(sharedFilterPatterns, " ")); requireBundleFilter = DependencyTreeFilters.parseRequireBundleFilter(join(requireBundleFilterPatterns, " ")); optionalDependencyFilter = DependencyTreeFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); excludeDependencyFilter = DependencyTreeFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalDependencyFilter); importExportFilter = DependencyTreeFilters.parse(join(importExportFilterPatterns, " ")); Filter<Dependency> optionalFilter = DependencyFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); Filter<Dependency> excludeFilter = DependencyFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalFilter); LOG.debug("resolved: bundleClassPath: " + Strings.join(bundleClassPath, "\t\n")); LOG.debug("resolved: requireBundles: " + Strings.join(requireBundles, "\t\n")); LOG.debug("resolved: importPackages: " + Strings.join(importPackages.keySet(), "\t\n")); instructions.setProperty(ServiceConstants.INSTR_BUNDLE_CLASSPATH, Strings.join(bundleClassPath, ",")); instructions.setProperty(ServiceConstants.INSTR_REQUIRE_BUNDLE, Strings.join(requireBundles, ",")); instructions.setProperty(ServiceConstants.INSTR_FAB_MODULE_ID, moduleId.toString()); instructions.setProperty(ServiceConstants.INSTR_FAB_PROVIDED_DEPENDENCY, join(sharedFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_DEPENDENCY_REQUIRE_BUNDLE, join(requireBundleFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_EXCLUDE_DEPENDENCY, join(excludeDependencyFilterPatterns, " ")); instructions.setProperty(ServiceConstants.INSTR_FAB_OPTIONAL_DEPENDENCY, join(optionalDependencyPatterns, " "));
optionalDependencyPatterns.addAll(Strings.splitAndTrimAsList(emptyIfNull(tree.getManifestEntry(ServiceConstants.INSTR_FAB_OPTIONAL_DEPENDENCY)), "\\s+")); sharedFilter = DependencyTreeFilters.parseShareFilter(join(sharedFilterPatterns, " ")); requireBundleFilter = DependencyTreeFilters.parseRequireBundleFilter(join(requireBundleFilterPatterns, " ")); optionalDependencyFilter = DependencyTreeFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); this.excludeDependencyFilter = DependencyTreeFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalDependencyFilter);
println("Enabling extensions: "+join(enabled, ", "));
println("Enabling extensions: "+join(enabled, ", "));
public void unpackJarProcess(ProcessConfig config, int id, File installDir, JarInstallParameters parameters) throws Exception { // lets unpack the launcher // now lets download the executable jar as main.jar and all its dependencies... Filter<Dependency> optionalFilter = DependencyFilters.parseExcludeOptionalFilter(join(Arrays.asList(parameters.getOptionalDependencyPatterns()), " ")); Filter<Dependency> excludeFilter = DependencyFilters.parseExcludeFilter(join(Arrays.asList(parameters.getExcludeDependencyFilterPatterns()), " "), optionalFilter); DependencyTreeResult result = mavenResolver.collectDependencies(parameters.getGroupId(), parameters.getArtifactId(), parameters.getVersion(), parameters.getExtension(), parameters.getClassifier(), parameters.isOffline(), excludeFilter); DependencyNode mainJarDependency = result.getRootNode(); File libDir = new File(installDir, "lib"); libDir.mkdirs(); File mainJar = getFile(mainJarDependency); if (mainJar == null) { System.out.println("Cannot find file for main jar " + mainJarDependency); } else { File newMain = new File(libDir, "main.jar"); Files.copy(mainJar, newMain); String mainClass = parameters.getMainClass(); if (mainClass != null) { setMainClass(config, installDir, newMain, id, mainClass); } } copyDependencies(mainJarDependency, libDir); }
@Override protected Object doExecute() throws Exception { OsgiModuleRegistry registry = getModuleRegistry(); List<ModuleRegistry.Module> modules = registry.getApplicationModules(); Map<VersionedDependencyId, Bundle> installed = registry.getInstalled(); Table table = new Table("{1} | {2} | {3} | {4}", 3, -20, -10, -40); table.add("Id", "Name", "Version", "Description"); for (ModuleRegistry.Module module : modules) { ModuleRegistry.VersionedModule latest = module.latest(); HashSet<VersionedDependencyId> s = new HashSet<VersionedDependencyId>(module.getVersionIds()); s.retainAll(installed.keySet()); if( !s.isEmpty() && (name==null || module.getName().indexOf(name) >=0) ) { HashSet<Long> bundles = new HashSet<Long>(); for (VersionedDependencyId dependencyId : s) { bundles.add(installed.get(dependencyId).getBundleId()); } table.add(Strings.join(bundles, ", "), module.getName(), latest.getId().getVersion(), latest.getDescription()); } } table.print(session.getConsole()); return null; }
optionalDependencyPatterns.addAll(Strings.splitAndTrimAsList(emptyIfNull(tree.getManifestEntry(ServiceConstants.INSTR_FAB_OPTIONAL_DEPENDENCY)), "\\s+")); sharedFilter = DependencyTreeFilters.parseShareFilter(join(sharedFilterPatterns, " ")); requireBundleFilter = DependencyTreeFilters.parseRequireBundleFilter(join(requireBundleFilterPatterns, " ")); optionalDependencyFilter = DependencyTreeFilters.parseExcludeOptionalFilter(join(optionalDependencyPatterns, " ")); this.excludeDependencyFilter = DependencyTreeFilters.parseExcludeFilter(join(excludeDependencyFilterPatterns, " "), optionalDependencyFilter);
version += ", Extensions: "+join(ext, " ")+""; println("%15s: %s", "Available", join(versions, ", ")); if( extensions.size() > 0 ) { HashSet enabled = new HashSet<String>(selected.getEnabledExtensions()); println("%15s: %s", "Extensions", selected.getDefaultExtensions().isEmpty() ? "" : "(Default: "+join(selected.getDefaultExtensions(), ", ")+")");
version += ", Extensions: "+join(ext, " ")+""; println("%15s: %s", "Available", join(versions, ", ")); if( extensions.size() > 0 ) { HashSet enabled = new HashSet<String>(selected.getEnabledExtensions()); println("%15s: %s", "Extensions", selected.getDefaultExtensions().isEmpty() ? "" : "(Default: "+join(selected.getDefaultExtensions(), ", ")+")");