Index: src/java/org/apache/ivy/core/IvyPatternHelper.java =================================================================== --- src/java/org/apache/ivy/core/IvyPatternHelper.java (revision 1208940) +++ src/java/org/apache/ivy/core/IvyPatternHelper.java (working copy) @@ -37,11 +37,11 @@ /** */ public final class IvyPatternHelper { - + private IvyPatternHelper() { //Helper class } - + public static final String CONF_KEY = "conf"; public static final String TYPE_KEY = "type"; @@ -103,21 +103,21 @@ public static String substitute(String pattern, String org, String module, String revision, String artifact, String type, String ext) { - return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, (String) null, + return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, (String) null, (ArtifactOrigin) null, (Map) null, (Map) null); } // CheckStyle:ParameterNumber OFF public static String substitute(String pattern, String org, String module, String revision, String artifact, String type, String ext, String conf) { - return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, conf, + return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, conf, (ArtifactOrigin) null, (Map) null, (Map) null); } public static String substitute(String pattern, String org, String module, String revision, - String artifact, String type, String ext, String conf, Map extraModuleAttributes, + String artifact, String type, String ext, String conf, Map extraModuleAttributes, Map extraArtifactAttributes) { - return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, conf, + return substitute(pattern, org, module, (String) null, revision, artifact, type, ext, conf, (ArtifactOrigin) null, extraModuleAttributes, extraArtifactAttributes); } @@ -131,8 +131,10 @@ if (extraArtifactAttributes != null) { tokens.putAll(extraArtifactAttributes); } - tokens.put(ORGANISATION_KEY, org == null ? "" : org); - tokens.put(ORGANISATION_KEY2, org == null ? "" : org); + org = org == null ? "" : org; + tokens.put("m2organisation", org.replace('.', '/')); + tokens.put(ORGANISATION_KEY, org); + tokens.put(ORGANISATION_KEY2, org); tokens.put(MODULE_KEY, module == null ? "" : module); tokens.put(BRANCH_KEY, branch == null ? "" : branch); tokens.put(REVISION_KEY, revision == null ? "" : revision); @@ -143,10 +145,10 @@ if (origin == null) { tokens.put(ORIGINAL_ARTIFACTNAME_KEY, new OriginalArtifactNameValue(org, module, branch, revision, artifact, type, ext, extraModuleAttributes, extraArtifactAttributes)); - } else { + } else { tokens.put(ORIGINAL_ARTIFACTNAME_KEY, new OriginalArtifactNameValue(origin)); } - + return substituteTokens(pattern, tokens); } // CheckStyle:ParameterNumber ON @@ -207,7 +209,7 @@ if (tokensCopy.containsKey(ORGANISATION_KEY) && !tokensCopy.containsKey(ORGANISATION_KEY2)) { tokensCopy.put(ORGANISATION_KEY2, tokensCopy.get(ORGANISATION_KEY)); } - + StringBuffer buffer = new StringBuffer(); char[] chars = pattern.toCharArray(); @@ -398,21 +400,21 @@ private String revision; private Map extraModuleAttributes; - + // artifact properties private String artifactName; private String artifactType; private String artifactExt; - + private Map extraArtifactAttributes; // cached origin; private ArtifactOrigin origin; - + public OriginalArtifactNameValue(String org, String moduleName, String branch, - String revision, String artifactName, String artifactType, String artifactExt, + String revision, String artifactName, String artifactType, String artifactExt, Map extraModuleAttributes, Map extraArtifactAttributes) { this.org = org; this.moduleName = moduleName; @@ -440,10 +442,10 @@ Artifact artifact = new DefaultArtifact(revId, null, artifactName, artifactType, artifactExt, extraArtifactAttributes); - // TODO cache: see how we could know which actual cache manager to use, since this + // TODO cache: see how we could know which actual cache manager to use, since this // will fail when using a resolver in a chain with a specific cache manager RepositoryCacheManager cacheManager = IvyContext.getContext().getSettings() - .getResolver(revId).getRepositoryCacheManager(); + .getResolver(revId).getRepositoryCacheManager(); origin = cacheManager.getSavedArtifactOrigin(artifact); @@ -484,7 +486,7 @@ return pattern.substring(0, index); } } - + public static String getFirstToken(String pattern) { if (pattern == null) { return null;