| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * https://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| package org.apache.ivy.plugins.namespace; |
| |
| import org.apache.ivy.core.module.descriptor.Artifact; |
| import org.apache.ivy.core.module.descriptor.DefaultArtifact; |
| import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor; |
| import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor; |
| import org.apache.ivy.core.module.descriptor.DependencyDescriptor; |
| import org.apache.ivy.core.module.descriptor.ModuleDescriptor; |
| import org.apache.ivy.core.module.id.ArtifactId; |
| import org.apache.ivy.core.module.id.ModuleId; |
| import org.apache.ivy.core.module.id.ModuleRevisionId; |
| import org.apache.ivy.core.report.MetadataArtifactDownloadReport; |
| import org.apache.ivy.core.resolve.ResolvedModuleRevision; |
| |
| public final class NameSpaceHelper { |
| private NameSpaceHelper() { |
| } |
| |
| public static DependencyDescriptor toSystem(DependencyDescriptor dd, Namespace ns) { |
| return DefaultDependencyDescriptor.transformInstance(dd, ns); |
| } |
| |
| public static DependencyDescriptor transform(DependencyDescriptor dd, NamespaceTransformer t, |
| boolean fromSystem) { |
| return DefaultDependencyDescriptor.transformInstance(dd, t, fromSystem); |
| } |
| |
| public static ModuleDescriptor toSystem(ModuleDescriptor md, Namespace ns) { |
| return DefaultModuleDescriptor.transformInstance(md, ns); |
| } |
| |
| public static ResolvedModuleRevision toSystem(ResolvedModuleRevision rmr, Namespace ns) { |
| if (ns.getToSystemTransformer().isIdentity()) { |
| return rmr; |
| } |
| ModuleDescriptor md = toSystem(rmr.getDescriptor(), ns); |
| if (md.equals(rmr.getDescriptor())) { |
| return rmr; |
| } |
| return new ResolvedModuleRevision(rmr.getResolver(), rmr.getArtifactResolver(), md, |
| transform(rmr.getReport(), ns.getToSystemTransformer()), rmr.isForce()); |
| } |
| |
| public static Artifact transform(Artifact artifact, NamespaceTransformer t) { |
| if (t.isIdentity()) { |
| return artifact; |
| } |
| ModuleRevisionId mrid = t.transform(artifact.getModuleRevisionId()); |
| if (artifact.getModuleRevisionId().equals(mrid)) { |
| return artifact; |
| } |
| return new DefaultArtifact(mrid, artifact.getPublicationDate(), artifact.getName(), |
| artifact.getType(), artifact.getExt(), artifact.getUrl(), |
| artifact.getQualifiedExtraAttributes()); |
| } |
| |
| public static MetadataArtifactDownloadReport transform(MetadataArtifactDownloadReport report, |
| NamespaceTransformer t) { |
| if (t.isIdentity()) { |
| return report; |
| } |
| MetadataArtifactDownloadReport madr = new MetadataArtifactDownloadReport(transform( |
| report.getArtifact(), t)); |
| madr.setSearched(report.isSearched()); |
| madr.setDownloadStatus(report.getDownloadStatus()); |
| madr.setDownloadDetails(report.getDownloadDetails()); |
| madr.setArtifactOrigin(report.getArtifactOrigin()); |
| madr.setDownloadTimeMillis(report.getDownloadTimeMillis()); |
| madr.setOriginalLocalFile(report.getOriginalLocalFile()); |
| madr.setLocalFile(report.getLocalFile()); |
| madr.setSize(report.getSize()); |
| return madr; |
| } |
| |
| public static ArtifactId transform(ArtifactId artifactId, NamespaceTransformer t) { |
| if (t.isIdentity()) { |
| return artifactId; |
| } |
| ModuleId mid = transform(artifactId.getModuleId(), t); |
| if (mid.equals(artifactId.getModuleId())) { |
| return artifactId; |
| } |
| return new ArtifactId(mid, artifactId.getName(), artifactId.getType(), artifactId.getExt()); |
| } |
| |
| public static ModuleId transform(ModuleId mid, NamespaceTransformer t) { |
| if (t.isIdentity()) { |
| return mid; |
| } |
| return t.transform(new ModuleRevisionId(mid, "")).getModuleId(); |
| } |
| |
| public static String transformOrganisation(String org, NamespaceTransformer t) { |
| return transform(new ModuleId(org, ""), t).getOrganisation(); |
| } |
| } |