|
From: <caw...@us...> - 2007-08-17 18:00:52
|
Revision: 3006
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=3006&view=rev
Author: cawilliams
Date: 2007-08-17 11:00:51 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
fix up warnings
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
Added Paths:
-----------
trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/LogicalGem.java
Removed Paths:
-------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/LogicalGem.java
Copied: trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/LogicalGem.java (from rev 2866, trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/LogicalGem.java)
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/LogicalGem.java (rev 0)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/LogicalGem.java 2007-08-17 18:00:51 UTC (rev 3006)
@@ -0,0 +1,79 @@
+package com.aptana.rdt.core.gems;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.List;
+import java.util.SortedSet;
+import java.util.StringTokenizer;
+import java.util.TreeSet;
+
+
+public class LogicalGem extends Gem {
+
+ private LogicalGem(String name, String version, String description) {
+ super(name, version, description);
+ }
+
+ public static LogicalGem create(Collection<Gem> gems) {
+ if (gems == null || gems.isEmpty()) throw new IllegalArgumentException("Need a non-null, non-empty Collection of Gems");
+ String name = null;
+ String description = null;
+ String version = "(";
+ for (Gem gem : gems) {
+ if (name == null) name = gem.getName();
+ if (description == null) description = gem.getDescription();
+ version += gem.getVersion() + ", ";
+ }
+ version = version.substring(0, version.length() - 2);
+ version += ')';
+ // XXX Need to take platform into account!!!!!!!!
+ return new LogicalGem(name, version, description);
+ }
+
+ public SortedSet<String> getVersions() {
+ String raw = getVersion().substring(1, getVersion().length() - 1);
+ SortedSet<String> version = new TreeSet<String>(new VersionComparator());
+ StringTokenizer tokenizer = new StringTokenizer(raw, ",");
+ while (tokenizer.hasMoreTokens()) {
+ version.add(tokenizer.nextToken().trim());
+ }
+ return version;
+ }
+
+ private class VersionComparator implements Comparator {
+
+ public int compare(Object o1, Object o2) {
+ String v1 = (String) o1;
+ String v2 = (String) o2;
+
+ List<Integer> v1Parts = getParts(v1);
+ List<Integer> v2Parts = getParts(v2);
+ int blah = Math.min(v1Parts.size(), v2Parts.size());
+ for (int i = 0; i < blah; i++) {
+ Integer one = v1Parts.get(i);
+ Integer two = v2Parts.get(i);
+ int result = one.compareTo(two);
+ if (result != 0) return result;
+ }
+ // if parts sizes aren't equal, the one with more parts is newer.
+ if (v1Parts.size() > v2Parts.size()) {
+ return 1;
+ } else if (v2Parts.size() > v1Parts.size()) {
+ return -1;
+ }
+ return 0;
+ }
+
+ private List<Integer> getParts(String version) {
+ StringTokenizer tokenizer = new StringTokenizer(version, ".");
+ List<Integer> parts = new ArrayList<Integer>();
+ while (tokenizer.hasMoreTokens()) {
+ parts.add(Integer.parseInt(tokenizer.nextToken()));
+ }
+ return parts;
+ }
+
+ }
+
+}
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-08-17 18:00:43 UTC (rev 3005)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-08-17 18:00:51 UTC (rev 3006)
@@ -57,6 +57,7 @@
import com.aptana.rdt.core.gems.Gem;
import com.aptana.rdt.core.gems.GemListener;
import com.aptana.rdt.core.gems.IGemManager;
+import com.aptana.rdt.core.gems.LogicalGem;
public class GemManager implements IGemManager {
Deleted: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/LogicalGem.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/LogicalGem.java 2007-08-17 18:00:43 UTC (rev 3005)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/LogicalGem.java 2007-08-17 18:00:51 UTC (rev 3006)
@@ -1,80 +0,0 @@
-package com.aptana.rdt.internal.core.gems;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.StringTokenizer;
-import java.util.TreeSet;
-
-import com.aptana.rdt.core.gems.Gem;
-
-public class LogicalGem extends Gem {
-
- private LogicalGem(String name, String version, String description) {
- super(name, version, description);
- }
-
- public static LogicalGem create(Collection<Gem> gems) {
- if (gems == null || gems.isEmpty()) throw new IllegalArgumentException("Need a non-null, non-empty Collection of Gems");
- String name = null;
- String description = null;
- String version = "(";
- for (Gem gem : gems) {
- if (name == null) name = gem.getName();
- if (description == null) description = gem.getDescription();
- version += gem.getVersion() + ", ";
- }
- version = version.substring(0, version.length() - 2);
- version += ')';
- // XXX Need to take platform into account!!!!!!!!
- return new LogicalGem(name, version, description);
- }
-
- public SortedSet<String> getVersions() {
- String raw = getVersion().substring(1, getVersion().length() - 1);
- SortedSet<String> version = new TreeSet<String>(new VersionComparator());
- StringTokenizer tokenizer = new StringTokenizer(raw, ",");
- while (tokenizer.hasMoreTokens()) {
- version.add(tokenizer.nextToken().trim());
- }
- return version;
- }
-
- private class VersionComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- String v1 = (String) o1;
- String v2 = (String) o2;
-
- List<Integer> v1Parts = getParts(v1);
- List<Integer> v2Parts = getParts(v2);
- int blah = Math.min(v1Parts.size(), v2Parts.size());
- for (int i = 0; i < blah; i++) {
- Integer one = v1Parts.get(i);
- Integer two = v2Parts.get(i);
- int result = one.compareTo(two);
- if (result != 0) return result;
- }
- // if parts sizes aren't equal, the one with more parts is newer.
- if (v1Parts.size() > v2Parts.size()) {
- return 1;
- } else if (v2Parts.size() > v1Parts.size()) {
- return -1;
- }
- return 0;
- }
-
- private List<Integer> getParts(String version) {
- StringTokenizer tokenizer = new StringTokenizer(version, ".");
- List<Integer> parts = new ArrayList<Integer>();
- while (tokenizer.hasMoreTokens()) {
- parts.add(Integer.parseInt(tokenizer.nextToken()));
- }
- return parts;
- }
-
- }
-
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|