/** * Creates a composite option of {@link RepositoryOption}s. * * @param repositoryOptions * repository options * * @return composite option of repository options */ public static Option repositories(final RepositoryOption... repositoryOptions) { return new DefaultCompositeOption(repositoryOptions); }
/** * Make sure all system properties with a given prefix are also available inside the container */ public static DefaultCompositeOption passThroughAllSystemPropertiesWithPrefix(String prefix) { DefaultCompositeOption options = new DefaultCompositeOption(); for (String name : System.getProperties().stringPropertyNames()) { if (name.startsWith(prefix)) { options.add(systemProperty(name).value(System.getProperty(name))); } } return options; }
/** * If condition is true will return the composite options. Otherwise will return an empty array * of options. */ public Option[] getOptions() { if (condition.evaluate()) { return composite.getOptions(); } return new Option[0]; }
/** * Adds options to be used in case that condition evaluates to true. * * @param options * to use * * @return this for fluent api */ public OptionalCompositeOption useOptions(final Option... options) { composite.add(options); return this; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; OptionalCompositeOption other = (OptionalCompositeOption) obj; if (composite == null) { if (other.composite != null) return false; } else if (!composite.equals(other.composite)) return false; if (condition == null) { if (other.condition != null) return false; } else if (!condition.equals(other.condition)) return false; return true; } // CHECKSTYLE:ON
/** * Adds options to be used in case that condition evaluates to true. * * @param options * to use * * @return this for fluent api */ public OptionalCompositeOption useOptions(final Option... options) { composite.add(options); return this; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; OptionalCompositeOption other = (OptionalCompositeOption) obj; if (composite == null) { if (other.composite != null) return false; } else if (!composite.equals(other.composite)) return false; if (condition == null) { if (other.condition != null) return false; } else if (!condition.equals(other.condition)) return false; return true; } // CHECKSTYLE:ON
/** * Additionnal options to override. * @return return additional options */ protected Option addExtraOptions() { return new DefaultCompositeOption(); } /**
private Option jarBundles() throws MalformedURLException { DefaultCompositeOption composite = new DefaultCompositeOption(); for (File bundle : new File("target", "test-bundles").listFiles()) { if (bundle.getName().endsWith(".jar") && bundle.isFile()) { composite.add(bundle(bundle.toURI().toURL().toString())); } } return composite; }
/** * Constructor. * * @param options * composite options (can be null or no option specified) */ public DefaultCompositeOption(final Option... options) { this.options = new ArrayList<Option>(); add(options); }
/** * If condition is true will return the composite options. Otherwise will return an empty array * of options. */ public Option[] getOptions() { if (condition.evaluate()) { return composite.getOptions(); } return new Option[0]; }
/** * Additionnal options to override. * @return return additional options */ protected Option addExtraOptions() { return new DefaultCompositeOption(); } /**
/** * Use the same Karaf version from the project for integration testing with Pax Exam */ public static DefaultCompositeOption useDefaultKarafAsInProjectWithJunitBundles() { String karafVersion = getKarafVersionAsInProject(); MavenArtifactUrlReference karafUrl = maven().groupId(KARAF_GROUP_ID) .artifactId(KARAF_ARTIFACT_ID) .version(karafVersion) .type("tar.gz"); return new DefaultCompositeOption() .add(karafDistributionConfiguration() .frameworkUrl(karafUrl) .karafVersion(karafVersion) .name("Apache Karaf") .unpackDirectory(new File("target/exam"))) .add(keepRuntimeFolder()) .add(junitBundles()) .add(logLevel(LogLevelOption.LogLevel.INFO)); }
/** * Constructor. * * @param options * composite options (can be null or no option specified) */ public DefaultCompositeOption(final Option... options) { this.options = new ArrayList<Option>(); add(options); }
/** * Convenience method (more to be used for a nice fluent api) for creating a composite option. * * @param options * options * * @return provided options */ public static ModifiableCompositeOption composite(final Option... options) { return new DefaultCompositeOption(options); }
private Option jpmsOptions(){ DefaultCompositeOption composite = new DefaultCompositeOption(); if (Version.parseVersion(System.getProperty("java.specification.version")).getMajor() > 1){ if (java.nio.file.Files.exists(java.nio.file.FileSystems.getFileSystem(URI.create("jrt:/")).getPath("modules", "java.se.ee"))){ composite.add(vmOption("--add-modules=java.se.ee")); } composite.add(vmOption("--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.lang=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.lang.invoke=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.io=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.net=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.nio=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.util=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.util.jar=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.util.regex=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/java.util.zip=ALL-UNNAMED")); composite.add(vmOption("--add-opens=java.base/sun.nio.ch=ALL-UNNAMED")); } return composite; }
/** * Append the VM option to the given Pax Exam option. * * @param opts A {@link DefaultCompositeOption} instance. * @param name The name of the system property that specifies the * VM option. */ private void addVmOption(DefaultCompositeOption opts, String name) { String arg = System.getProperty(name); if (arg != null && !arg.isEmpty()) { opts.add(new VMOption(arg)); } }
/** * Constructor. * * @param condition * condition to evaluate */ public OptionalCompositeOption(final Condition condition) { this.condition = condition; composite = new DefaultCompositeOption(); }
public static CompositeOption slingBundleList(String groupId, String artifactId, String version, String type, String classifier) { final DefaultCompositeOption result = new DefaultCompositeOption(); result.add(mavenBundle(b.getGroupId(), b.getArtifactId(), b.getVersion()).noStart()); } else if(startLevel == 0){ result.add(mavenBundle(b.getGroupId(), b.getArtifactId(), b.getVersion())); } else { result.add(mavenBundle(b.getGroupId(), b.getArtifactId(), b.getVersion()).startLevel(startLevel));
/** * Append the logging level options to the given Pax Exam option. * * @param opts A {@link DefaultCompositeOption} instance. */ private void addLogLevelOptions(DefaultCompositeOption opts) { Properties props = loadProperties(RES_LOG_CONFIG); // Configure level for the root logger. String root = props.getProperty(LOG_CFG_ROOT); if (root != null) { props.remove(LOG_CFG_ROOT); opts.add(editConfigurationFilePut( ORG_OPS4J_PAX_LOGGING_CFG, "log4j.rootLogger", root + ", stdout")); } // Configure level for specific logger. for (Iterator<Entry<Object, Object>> it = props.entrySet().iterator(); it.hasNext();) { Entry<Object, Object> entry = it.next(); String key = getLogPropertyName(entry.getKey().toString()); Object value = entry.getValue(); opts.add(editConfigurationFilePut( ORG_OPS4J_PAX_LOGGING_CFG, key, value.toString())); } }