Example usage for org.apache.maven.artifact.versioning DefaultArtifactVersion getIncrementalVersion

List of usage examples for org.apache.maven.artifact.versioning DefaultArtifactVersion getIncrementalVersion

Introduction

In this page you can find the example usage for org.apache.maven.artifact.versioning DefaultArtifactVersion getIncrementalVersion.

Prototype

public int getIncrementalVersion() 

Source Link

Usage

From source file:com.liferay.ide.maven.core.MavenUtil.java

License:Open Source License

public static String getVersion(String version) {
    String retval = null;//from ww  w.  j  av a  2 s . com

    final DefaultArtifactVersion v = new DefaultArtifactVersion(version);

    retval = v.getMajorVersion() + "." + v.getMinorVersion() + "." + v.getIncrementalVersion();

    if ("0.0.0".equals(retval)) {
        retval = v.getQualifier();
    }

    // try to parse as osgi version if it fails then return 0.0.0
    try {
        Version.parseVersion(retval);
    } catch (Exception e) {
        retval = "0.0.0";
    }

    return retval;
}

From source file:com.vmware.bdd.plugin.ambari.utils.Version.java

License:Open Source License

public static int compare(String srcVersion, String destVersion) {
    logger.info("The source version is " + srcVersion);
    logger.info("The destination version is " + destVersion);
    DefaultArtifactVersion srcArtifactVersion = new DefaultArtifactVersion(srcVersion);
    DefaultArtifactVersion destArtifactVersion = new DefaultArtifactVersion(destVersion);

    int[] srcVersionArray = { srcArtifactVersion.getMajorVersion(), srcArtifactVersion.getMinorVersion(),
            srcArtifactVersion.getIncrementalVersion() };
    int[] destVersionArray = { destArtifactVersion.getMajorVersion(), destArtifactVersion.getMinorVersion(),
            destArtifactVersion.getIncrementalVersion() };

    for (int i = 0; i < srcVersionArray.length; i++) {
        if (i >= destVersionArray.length) {
            return compare(destVersionArray, srcVersionArray, 1);
        }/*  w  ww.  ja  v  a 2s. c  o  m*/
        if (srcVersionArray[i] > destVersionArray[i]) {
            return 1;
        } else if (srcVersionArray[i] < destVersionArray[i]) {
            return -1;
        }
    }
    if (destVersionArray.length > srcVersionArray.length) {
        return compare(srcVersionArray, destVersionArray, -1);
    }
    return 0;
}

From source file:com.vmware.bdd.plugin.clouderamgr.service.ClouderaManagerImpl.java

License:Open Source License

@Override
public List<HadoopStack> getSupportedStacks() throws SoftwareManagementPluginException {
    String randomClusterName = UUID.randomUUID().toString();
    final ApiClusterList clusterList = new ApiClusterList();
    ApiCluster apiCluster = new ApiCluster();
    apiCluster.setName(randomClusterName);
    apiCluster.setVersion(ApiClusterVersion.CDH5);
    clusterList.add(apiCluster);/*w w w.ja  va 2 s  . c o m*/
    try {
        List<HadoopStack> hadoopStacks = new ArrayList<HadoopStack>();
        apiResourceRootV6.getClustersResource().createClusters(clusterList);
        for (ApiParcel apiParcel : apiResourceRootV6.getClustersResource().getParcelsResource(randomClusterName)
                .readParcels(DataView.SUMMARY).getParcels()) {
            if (apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) {
                DefaultArtifactVersion parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion());
                HadoopStack stack = new HadoopStack();
                stack.setDistro(apiParcel.getProduct(), parcelVersion.getMajorVersion() + "."
                        + parcelVersion.getMinorVersion() + "." + parcelVersion.getIncrementalVersion());
                stack.setFullVersion(apiParcel.getVersion());
                stack.setVendor(Constants.CDH_DISTRO_VENDOR);
                List<String> roles = new ArrayList<String>();
                for (String role : AvailableServiceRoleContainer.allRoles(apiParcel.getVersion())) {
                    roles.add(role);
                }
                stack.setHveSupported(true);
                stack.setRoles(roles);
                hadoopStacks.add(stack);
            }
        }
        apiResourceRootV6.getClustersResource().deleteCluster(randomClusterName);
        return hadoopStacks;
    } catch (Exception e) {
        throw SoftwareManagementPluginException.RETRIEVE_SUPPORTED_STACKS_FAIL(e, Constants.CDH_PLUGIN_NAME);
    }
}

From source file:com.vmware.bdd.plugin.clouderamgr.service.ClouderaManagerImpl.java

License:Open Source License

/** provision parcels, Reentrant
 * A Parcel encapsulate a specific product and version. For example, (CDH 4.1).
 * A parcel is downloaded, distributed to all the machines of a cluster and then allowed to be activated.
 *
 * @param cluster//from   w  ww . j  av  a2s  . c  o  m
 * @param reportQueue
 * @throws Exception
 */
private void provisionParcels(final CmClusterDef cluster, final List<String> addedNodes,
        final ClusterReportQueue reportQueue) throws Exception {

    if (isConfigured(cluster)) {
        return;
    }

    apiResourceRootV6.getClouderaManagerResource().updateConfig(
            new ApiConfigList(Arrays.asList(new ApiConfig[] { new ApiConfig("PARCEL_UPDATE_FREQ", "1") })));

    final Set<String> repositoriesRequired = new HashSet<String>();

    for (CmServiceDef serviceDef : cluster.getServices()) {
        repositoriesRequired.add(serviceDef.getType().getRepository().toString(cluster.getVersion()));
    }

    logger.info("parcel repo required: " + repositoriesRequired + " cluster: " + cluster.getName());

    final List<String> repositoriesRequiredOrdered = new ArrayList<String>();
    for (String repository : repositoriesRequired) {
        if (repository.equals(Constants.CDH_REPO_PREFIX)) {
            repositoriesRequiredOrdered.add(0, repository);
        } else {
            repositoriesRequiredOrdered.add(repository);
        }
    }

    // validate this cluster has access to all Parcels it requires
    executeAndReport("Validating parcels availability", addedNodes, null,
            ProgressSplit.VALIDATE_PARCELS_AVAILABILITY.getProgress(), cluster.getCurrentReport(), reportQueue,
            new StatusPoller() {
                @Override
                public boolean poll() {
                    for (ApiParcel parcel : apiResourceRootV6.getClustersResource()
                            .getParcelsResource(cluster.getName()).readParcels(DataView.FULL).getParcels()) {
                        try {
                            repositoriesRequired.remove(parcel.getProduct());
                        } catch (IllegalArgumentException e) {
                            // ignore
                        }
                    }
                    // TODO: if one required parcel is not available, will run forever, need timeout/validation
                    return repositoriesRequired.isEmpty();
                }
            }, false);

    apiResourceRootV6.getClouderaManagerResource().updateConfig(
            new ApiConfigList(Arrays.asList(new ApiConfig[] { new ApiConfig("PARCEL_UPDATE_FREQ", "60") })));

    DefaultArtifactVersion expectVersion = null;
    if (cluster.getFullVersion() != null) {
        expectVersion = new DefaultArtifactVersion(cluster.getFullVersion());
    }

    for (String repository : repositoriesRequiredOrdered) {
        DefaultArtifactVersion parcelVersion = null;
        for (ApiParcel apiParcel : apiResourceRootV6.getClustersResource().getParcelsResource(cluster.getName())
                .readParcels(DataView.FULL).getParcels()) {
            DefaultArtifactVersion parcelVersionTmp = new DefaultArtifactVersion(apiParcel.getVersion());
            if (apiParcel.getProduct().equals(repository)) {
                if (apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) {
                    /*
                     * Policy for "CDH" parcel:
                     * 1) If specify fullVersion, try to find that parcel, if cannot, select the latest parcel(with highest version).
                     * 2) If fullVersion not specified, select the latest parcel
                     */
                    if (parcelVersion == null || parcelVersion.compareTo(parcelVersionTmp) < 0) {
                        parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion());
                    }
                    if (expectVersion != null
                            && parcelVersionTmp.getMajorVersion() == expectVersion.getMajorVersion()
                            && parcelVersionTmp.getMinorVersion() == expectVersion.getMinorVersion()
                            && parcelVersionTmp.getIncrementalVersion() == expectVersion
                                    .getIncrementalVersion()) {
                        parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion());
                        break;
                    }
                }

                if (!apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) {
                    // For non-CDH parcel, just select the latest one
                    if (parcelVersion == null || parcelVersion.compareTo(parcelVersionTmp) < 0) {
                        parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion());
                    }
                }
            }
        }

        final ParcelResource apiParcelResource = apiResourceRootV6.getClustersResource()
                .getParcelsResource(cluster.getName()).getParcelResource(repository, parcelVersion.toString());
        String refMsg = referCmfUrlMsg(domain + "/cmf/parcel/status");
        if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                .ordinal() < AvailableParcelStage.DOWNLOADED.ordinal()) {
            String action = "Downloading parcel...";

            ParcelProvisionPoller poll = new ParcelProvisionPoller(apiParcelResource,
                    AvailableParcelStage.DOWNLOADED, cluster.getCurrentReport(), reportQueue,
                    ProgressSplit.DOWNLOAD_PARCEL.getProgress());

            if (apiParcelResource.readParcel().getStage().equals(AvailableParcelStage.DOWNLOADING.toString())) {
                // Another thread is downloading this parcel, just wait for its completion
                executeAndReport(action, null, ProgressSplit.DOWNLOAD_PARCEL.getProgress(),
                        cluster.getCurrentReport(), reportQueue, poll, false);
            } else {
                // the ApiCommand instance for parcel is inaccessible, so do not check the return value
                executeAndReport(action, apiParcelResource.startDownloadCommand(),
                        ProgressSplit.DOWNLOAD_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue,
                        poll, false);
            }
            if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                    .ordinal() < AvailableParcelStage.DOWNLOADED.ordinal()) {
                throw ClouderaManagerException.DOWNLOAD_PARCEL_FAIL(apiParcelResource.readParcel().getProduct(),
                        apiParcelResource.readParcel().getVersion(), refMsg);
            }
        }

        if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                .ordinal() < AvailableParcelStage.DISTRIBUTED.ordinal()) {
            String action = "Distributing parcel...";

            final StatusPoller poller = new ParcelProvisionPoller(apiParcelResource,
                    AvailableParcelStage.DISTRIBUTED, cluster.getCurrentReport(), reportQueue,
                    ProgressSplit.DISTRIBUTE_PARCEL.getProgress());

            executeAndReport(action, apiParcelResource.startDistributionCommand(),
                    ProgressSplit.DISTRIBUTE_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue,
                    poller, false);

            if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                    .ordinal() < AvailableParcelStage.DISTRIBUTED.ordinal()) {
                throw ClouderaManagerException.DISTRIBUTE_PARCEL_FAIL(
                        apiParcelResource.readParcel().getProduct(),
                        apiParcelResource.readParcel().getVersion(), refMsg);
            }
        }
        if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                .ordinal() < AvailableParcelStage.ACTIVATED.ordinal()) {
            String action = "Activating parcel...";

            executeAndReport(action, apiParcelResource.activateCommand(),
                    ProgressSplit.ACTIVATE_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue,
                    new StatusPoller() {
                        @Override
                        public boolean poll() {
                            // activate parcel is pretty fast, so suppose we are no need to do much error handling/progress monitoring
                            // TODO: set a timeout
                            return apiParcelResource.readParcel().getStage()
                                    .equals(AvailableParcelStage.ACTIVATED.toString());
                        }
                    }, false);

            if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage())
                    .ordinal() < AvailableParcelStage.ACTIVATED.ordinal()) {
                throw ClouderaManagerException.ACTIVATE_PARCEL_FAIL(apiParcelResource.readParcel().getProduct(),
                        apiParcelResource.readParcel().getVersion(), refMsg);
            }
        }
    }
}

From source file:com.vmware.bdd.utils.Version.java

License:Open Source License

public static int compare(String srcVersion, String destVersion) {
    DefaultArtifactVersion srcArtifactVersion = new DefaultArtifactVersion(srcVersion);
    DefaultArtifactVersion destArtifactVersion = new DefaultArtifactVersion(destVersion);

    int[] srcVersionArray = { srcArtifactVersion.getMajorVersion(), srcArtifactVersion.getMinorVersion(),
            srcArtifactVersion.getIncrementalVersion() };
    int[] destVersionArray = { destArtifactVersion.getMajorVersion(), destArtifactVersion.getMinorVersion(),
            destArtifactVersion.getIncrementalVersion() };

    for (int i = 0; i < srcVersionArray.length; i++) {
        if (i >= destVersionArray.length) {
            return compare(destVersionArray, srcVersionArray, 1);
        }/*from w w  w . jav  a  2s  .  c o  m*/
        if (srcVersionArray[i] > destVersionArray[i]) {
            return 1;
        } else if (srcVersionArray[i] < destVersionArray[i]) {
            return -1;
        }
    }
    if (destVersionArray.length > srcVersionArray.length) {
        return compare(srcVersionArray, destVersionArray, -1);
    }
    return 0;
}

From source file:org.abstracthorizon.proximity.maven.MavenItemInspector.java

License:Apache License

public void processItem(ItemProperties ip, File file) {
    if (MavenArtifactRecognizer.isPom(ip.getName())) {

        if (!MavenArtifactRecognizer.isChecksum(ip.getName())) {

            ip.setMetadata(M2KIND, KIND_POM);

            try {

                MavenXpp3Reader reader = new MavenXpp3Reader();
                FileInputStream fis = new FileInputStream(file);
                InputStreamReader ir = new InputStreamReader(fis);
                Model pom = null;/*  www .  java 2s .  c  o m*/
                try {
                    pom = reader.read(ir);
                    ir.close();
                } finally {
                    fis.close();
                }

                if (pom.getGroupId() != null) {
                    ip.setMetadata(POM_GID_KEY, pom.getGroupId());
                } else {
                    if (pom.getParent().getGroupId() != null) {
                        ip.setMetadata(POM_GID_KEY, pom.getParent().getGroupId());
                    }
                }
                if (pom.getArtifactId() != null) {
                    ip.setMetadata(POM_AID_KEY, pom.getArtifactId());
                }
                if (pom.getPackaging() != null) {
                    ip.setMetadata(POM_PCK_KEY, pom.getPackaging());
                }
                if (pom.getVersion() != null) {
                    ip.setMetadata(POM_VERSION_KEY, pom.getVersion());
                } else {
                    if (pom.getParent().getVersion() != null) {
                        ip.setMetadata(POM_VERSION_KEY, pom.getParent().getVersion());
                    }
                }
                if (ip.getMetadata(POM_VERSION_KEY) != null) {
                    DefaultArtifactVersion af = new DefaultArtifactVersion(ip.getMetadata(POM_VERSION_KEY));
                    ip.setMetadata(POM_VERSION_MAJOR_KEY, Integer.toString(af.getMajorVersion()));
                    ip.setMetadata(POM_VERSION_MINOR_KEY, Integer.toString(af.getMinorVersion()));
                    ip.setMetadata(POM_VERSION_INCREMENTAL_KEY, Integer.toString(af.getIncrementalVersion()));
                    ip.setMetadata(POM_VERSION_BUILDNUM_KEY, Integer.toString(af.getBuildNumber()));
                    // do not put null
                    if (af.getQualifier() != null) {
                        ip.setMetadata(POM_VERSION_QUALIFIER_KEY, af.getQualifier());
                    }
                }

                if (pom.getUrl() != null) {
                    ip.setMetadata(POM_URL_KEY, pom.getUrl());
                }
                if (pom.getDescription() != null) {
                    ip.setMetadata(POM_DESCRIPTION_KEY, pom.getDescription());
                }

                if (pom.getParent() != null) {
                    StringBuffer parent = new StringBuffer();
                    parent.append(pom.getParent().getGroupId());
                    parent.append(":");
                    parent.append(pom.getParent().getArtifactId());
                    if (pom.getParent().getVersion() != null) {
                        parent.append(":");
                        parent.append(pom.getParent().getVersion());
                    }
                    ip.setMetadata(POM_PARENT_KEY, parent.toString());
                }

                if (pom.getDependencies() != null) {
                    StringBuffer deps = new StringBuffer();
                    for (Iterator i = pom.getDependencies().iterator(); i.hasNext();) {
                        Dependency dep = (Dependency) i.next();
                        deps.append(dep.getGroupId());
                        deps.append(":");
                        deps.append(dep.getArtifactId());
                        // TODO: version ranges?
                        if (dep.getVersion() != null && !(dep.getVersion().indexOf("[") > 0)
                                && !(dep.getVersion().indexOf("(") > 0)) {
                            deps.append(":");
                            deps.append(dep.getVersion());
                        }
                        deps.append("\n");
                    }
                    ip.setMetadata(POM_DEPENDENCIES_KEY, deps.toString());
                }

            } catch (XmlPullParserException ex) {
                logger.warn("Got XmlPullParserException during reading POM, content will not be indexed on "
                        + ip.getPath(), ex);
            } catch (IOException ex) {
                logger.error(
                        "Got IOException during reading POM, content will not be indexed on " + ip.getPath(),
                        ex);
            }

        }

    } else if (MavenArtifactRecognizer.isMetadata(ip.getName())) {
        ip.setMetadata(M2KIND, KIND_METADATA);
    } else if (MavenArtifactRecognizer.isSnapshot(ip.getDirectoryPath(), ip.getName())) {
        ip.setMetadata(M2KIND, KIND_SNAPSHOT);
    }
}

From source file:org.bimserver.version.VersionChecker.java

License:Open Source License

public VersionChecker(ResourceFetcher resourceFetcher) throws VersionCheckException {
    try {//from   www.  j  av  a2 s .  c  o m
        Path pom = resourceFetcher.getFile("pom.xml");
        if (pom == null) {
            throw new VersionCheckException("No pom.xml found");
        }

        if (Files.exists(pom)) {
            String version = null;
            MavenXpp3Reader mavenreader = new MavenXpp3Reader();
            if (pom != null) {
                try (FileReader fileReader = new FileReader(pom.toFile())) {
                    Model model = mavenreader.read(fileReader);
                    version = model.getVersion();
                }
            }

            if (version == null) {
                // Only on development environments we have to get the version from the parent pom file
                Path parentPom = resourceFetcher.getFile("../pom.xml");
                if (parentPom != null) {
                    try (FileReader fileReader = new FileReader(parentPom.toFile())) {
                        Model parentModel = mavenreader.read(fileReader);
                        version = parentModel.getVersion();
                    }
                } else {
                    LOGGER.error("No parent pom.xml found");
                }
            }

            DefaultArtifactVersion defaultArtifactVersion = new DefaultArtifactVersion(version);
            localVersion = new SVersion();
            localVersion.setMajor(defaultArtifactVersion.getMajorVersion());
            localVersion.setMinor(defaultArtifactVersion.getMinorVersion());
            localVersion.setRevision(defaultArtifactVersion.getIncrementalVersion());
            localVersion.setFullString(defaultArtifactVersion.toString());
        } else {
            LOGGER.warn("No version info");
        }
    } catch (Exception e) {
        throw new VersionCheckException(e);
    }
}

From source file:org.mule.devkit.maven.studio.StudioPackageMojo.java

License:Open Source License

private String getPluginVersionFrom() throws MojoExecutionException {
    DefaultArtifactVersion av = new DefaultArtifactVersion(project.getVersion());

    int majorVersion = av.getMajorVersion();
    int minorVersion = av.getMinorVersion();
    int incrementalVersion = av.getIncrementalVersion();
    if (majorVersion == 0 && minorVersion == 0 && incrementalVersion == 0) {
        throw new MojoExecutionException(
                "Invalid maven project version, can't create studio plugin version, format must be "
                        + "[major-version].[minor-version].[incremental-version]-[qualifier], at least a major version must be specified.");
    }//  ww  w  . j a  v  a2s. c  o m
    return majorVersion + "." + minorVersion + "." + incrementalVersion;
}