public int hashCode() { return getName().hashCode(); }
public void addConfiguration(Configuration conf) { configurations.put(conf.getName(), conf); }
public String[] getPublicConfigurationsNames() { List ret = new ArrayList(); for (Iterator iter = configurations.values().iterator(); iter.hasNext();) { Configuration conf = (Configuration) iter.next(); if (conf.getVisibility() == Configuration.Visibility.PUBLIC) { ret.add(conf.getName()); } } return (String[]) ret.toArray(new String[ret.size()]); }
private void addOther(Configuration[] allConfigs, Visibility visibility, Set configs) { for (int i = 0; i < allConfigs.length; i++) { String currentName = allConfigs[i].getName(); if (!name.equals(currentName) && ((visibility == null) || visibility.equals(allConfigs[i].getVisibility()))) { configs.add(currentName); } } }
public static Collection/* <Configuration> */findConfigurationExtending(String conf, Configuration[] confs) { Collection extendingConfs = new ArrayList(); for (int i = 0; i < confs.length; i++) { if (confs[i] != null && Arrays.asList(confs[i].getExtends()).contains(conf)) { extendingConfs.add(confs[i]); extendingConfs.addAll(findConfigurationExtending(confs[i].getName(), confs)); } } return extendingConfs; }
private Collection/* <Artifact> */getArtifactsIncludingExtending(String conf) { Collection extendingConfs = Configuration.findConfigurationExtending(conf, getConfigurations()); Set/* <Artifact> */artifacts = new LinkedHashSet(); Collection arts = (Collection) artifactsByConf.get(conf); if (arts != null) { artifacts.addAll(arts); } for (Iterator it = extendingConfs.iterator(); it.hasNext();) { Configuration extendingConf = (Configuration) it.next(); arts = (Collection) artifactsByConf.get(extendingConf.getName()); if (arts != null) { artifacts.addAll(arts); } } return artifacts; }
/** * Throws an exception if the module descriptor is inconsistent For the moment, only extended * configurations existence and cycles are checked */ public void check() { Stack confs = new Stack(); for (Iterator iter = configurations.values().iterator(); iter.hasNext();) { Configuration conf = (Configuration) iter.next(); String[] ext = conf.getExtends(); for (int i = 0; i < ext.length; i++) { confs.push(conf.getName()); checkConf(confs, ext[i].trim()); confs.pop(); } } }
private Collection getDependencyConfigurationsIncludingExtending(String conf, String requestedConfiguration) { Set/* <String> */allDepConfs = new LinkedHashSet(); allDepConfs .addAll(Arrays.asList(getDependencyConfigurations(conf, requestedConfiguration))); Collection extendingConfs = Configuration.findConfigurationExtending(conf, md.getConfigurations()); for (Iterator it = extendingConfs.iterator(); it.hasNext();) { Configuration extendingConf = (Configuration) it.next(); allDepConfs.addAll(Arrays.asList(getDependencyConfigurations(extendingConf.getName(), requestedConfiguration))); } return allDepConfs; }
private void checkConf(Stack confs, String confName) { int index = confs.indexOf(confName); if (index != -1) { StringBuffer cycle = new StringBuffer(); for (; index < confs.size(); index++) { cycle.append(confs.get(index)).append(" => "); } cycle.append(confName); throw new IllegalStateException("illegal cycle detected in configuration extension: " + cycle); } Configuration conf = getConfiguration(confName); if (conf == null) { throw new IllegalStateException("unknown configuration '" + confName + "'. It is extended by " + confs.get(confs.size() - 1)); } String[] ext = conf.getExtends(); for (int i = 0; i < ext.length; i++) { confs.push(conf.getName()); checkConf(confs, ext[i].trim()); confs.pop(); } }
private void addExtendingConfigurations(String conf, DefaultDependencyDescriptor dd, boolean useDefaultMappingToGuessRightOperande) { Set configsToAdd = new HashSet(); Configuration[] configs = md.getConfigurations(); for (int i = 0; i < configs.length; i++) { String[] ext = configs[i].getExtends(); for (int j = 0; j < ext.length; j++) { if (conf.equals(ext[j])) { String configName = configs[i].getName(); configsToAdd.add(configName); addExtendingConfigurations(configName, dd, useDefaultMappingToGuessRightOperande); } } } String[] confs = (String[]) configsToAdd.toArray(new String[configsToAdd.size()]); parseDepsConfs(confs, dd, useDefaultMappingToGuessRightOperande); }
Configuration conf = (Configuration) it.next(); if (attValue.equals(conf.getAttribute(attName))) { members.put(conf.getName(), conf);
public void discardConf(String rootModuleConf, String conf) { Set depConfs = usage.addAndGetConfigurations(rootModuleConf); if (md != null) { // remove all given dependency configurations to the set + extended ones Configuration c = md.getConfiguration(conf); if (conf != null) { String[] exts = c.getExtends(); for (int i = 0; i < exts.length; i++) { discardConf(rootModuleConf, exts[i]); // recursive remove of extended // configurations } depConfs.remove(c.getName()); } else { Message.warn("unknown configuration in " + getId() + ": " + conf); } } else { depConfs.remove(conf); } }
protected static void printConfiguration(Configuration conf, PrintWriter out) { out.print("<conf"); out.print(" name=\"" + XMLHelper.escape(conf.getName()) + "\""); out.print(" visibility=\"" + XMLHelper.escape(conf.getVisibility().toString()) + "\""); if (conf.getDescription() != null) { out.print(" description=\"" + XMLHelper.escape(conf.getDescription()) + "\""); } String[] exts = conf.getExtends(); if (exts.length > 0) { out.print(" extends=\""); for (int j = 0; j < exts.length; j++) { out.print(XMLHelper.escape(exts[j])); if (j + 1 < exts.length) { out.print(","); } } out.print("\""); } if (!conf.isTransitive()) { out.print(" transitive=\"false\""); } if (conf.getDeprecated() != null) { out.print(" deprecated=\"" + XMLHelper.escape(conf.getDeprecated()) + "\""); } printExtraAttributes(conf, out, " "); out.println("/>"); }
public Configuration(Configuration source, ModuleRevisionId sourceModule) { this(source.getAttributes(), source.getQualifiedExtraAttributes(), source.getName(), source .getVisibility(), source.getDescription(), source.getExtends(), source .isTransitive(), source.getDeprecated(), sourceModule); }
List publicConfigsList = new ArrayList(); for (int i = 0; i < configs.length; i++) { String name = configs[i].getName(); if (Visibility.PUBLIC.equals(configs[i].getVisibility())) { publicConfigsList.add(name);
/** * Describes how to merge configurations elements * * @param sourceMrid * the source module revision id * @param configurations * array of configurations to be inherited */ protected void mergeConfigurations(ModuleDescriptor parent) { ModuleRevisionId sourceMrid = parent.getModuleRevisionId(); Configuration[] configurations = parent.getConfigurations(); for (int i = 0; i < configurations.length; i++) { Configuration configuration = configurations[i]; Message.debug("Merging configuration with: " + configuration.getName()); // copy configuration from parent descriptor getMd().addConfiguration(new Configuration(configuration, sourceMrid)); } if (parent instanceof DefaultModuleDescriptor) { setDefaultConfMapping(((DefaultModuleDescriptor) parent).getDefaultConfMapping()); setDefaultConf(((DefaultModuleDescriptor) parent).getDefaultConf()); getMd().setMappingOverride(((DefaultModuleDescriptor) parent).isMappingOverride()); } }