+ protected void processGroupNode(Node groupNode, ArgeoMonitor monitor)
+ throws RepositoryException {
+ if (monitor != null)
+ monitor.subTask("Group " + groupId);
+ Node allArtifactsHighestVersion = null;
+ Session session = groupNode.getSession();
+ aBases: for (NodeIterator aBases = groupNode.getNodes(); aBases
+ .hasNext();) {
+ Node aBase = aBases.nextNode();
+ if (aBase.isNodeType(SlcTypes.SLC_ARTIFACT_BASE)) {
+ Node highestAVersion = null;
+ for (NodeIterator aVersions = aBase.getNodes(); aVersions
+ .hasNext();) {
+ Node aVersion = aVersions.nextNode();
+ if (aVersion.isNodeType(SlcTypes.SLC_ARTIFACT_VERSION_BASE)) {
+ if (highestAVersion == null) {
+ highestAVersion = aVersion;
+ if (allArtifactsHighestVersion == null)
+ allArtifactsHighestVersion = aVersion;
+
+ } else {
+ Version currVersion = extractOsgiVersion(aVersion);
+ Version currentHighestVersion = extractOsgiVersion(highestAVersion);
+ if (currVersion.compareTo(currentHighestVersion) > 0) {
+ highestAVersion = aVersion;