--- a/src/main/java/net/timbusproject/dpes/alternative/kb/Package.java
+++ b/src/main/java/net/timbusproject/dpes/alternative/kb/Package.java
@@ -20,14 +20,12 @@
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.LinkedList;
-import java.util.Map;
/**
* @author Rudolf Mayer
*/
-public class Package implements Serializable {
+public class Package extends VirtualPackage implements Serializable {
private static final long serialVersionUID = 1L;
public Package() {
@@ -38,19 +36,11 @@
setName(name);
}
- private String name;
-
private String suite;
private String section;
- private final LinkedList<PackageRelation> depends = new LinkedList<PackageRelation>();
-
- private final LinkedList<PackageRelation> conflicts = new LinkedList<PackageRelation>();
-
- private final LinkedList<PackageRelation> recommends = new LinkedList<PackageRelation>();
-
- private final LinkedList<Package> provides = new LinkedList<Package>();
+ private final LinkedList<VirtualPackage> provides = new LinkedList<VirtualPackage>();
private Boolean installed;
@@ -72,14 +62,6 @@
private ArrayList<String> packageInformation;
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
public String getSuite() {
return suite;
}
@@ -88,35 +70,11 @@
this.suite = suite;
}
- public LinkedList<PackageRelation> getDepends() {
- return this.depends;
- }
-
- public void setDepends(Collection<PackageRelation> arrayList) {
- this.depends.addAll(arrayList);
- }
-
- public LinkedList<PackageRelation> getConflicts() {
- return this.conflicts;
- }
-
- public void setConflicts(Collection<PackageRelation> conflicts) {
- this.conflicts.addAll(conflicts);
- }
-
- public LinkedList<PackageRelation> getRecommends() {
- return this.recommends;
- }
-
- public void setRecommends(Collection<PackageRelation> recommends) {
- this.recommends.addAll(recommends);
- }
-
- public LinkedList<Package> getProvides() {
+ public LinkedList<VirtualPackage> getProvides() {
return provides;
}
- public void setProvides(VersionedPackage provides) {
+ public void setProvides(VirtualPackage provides) {
this.provides.add(provides);
}
@@ -185,79 +143,24 @@
this.conflictsString = conflictsString;
}
+ public String getDependsString() {
+ return dependsString;
+ }
+
+ public String getRecommendsString() {
+ return recommendsString;
+ }
+
+ public String getConflictsString() {
+ return conflictsString;
+ }
+
public String getVersionString() {
return versionString;
}
public void setVersionString(String versionString) {
this.versionString = versionString;
- }
-
- public void resolveLinks(Map<String, Package> packageNameMap) {
- setDepends(parseDependencyPackages(dependsString, packageNameMap));
- setRecommends(parseDependencyPackages(recommendsString, packageNameMap));
- setConflicts(parseDependencyPackages(conflictsString, packageNameMap));
- }
-
- public ArrayList<PackageRelation> parseDependencyPackages(String pkgListString, Map<String, Package> packageNameMap) {
- ArrayList<PackageRelation> pkgs = new ArrayList<PackageRelation>();
- if (pkgListString != null) {
- final String[] elements = pkgListString.split(",");
- for (String pkg : elements) {
- String packageRef = pkg.trim();
-
- if (packageRef.contains("|")) {
- // System.out.println("\t\tIgnoring package: " + parsedPackageInfo.getName() + "; ref was: " + packageRef);
- } else {
- PackageRelation parsedPackageInfo = parsePackageInfo(packageRef, packageNameMap);
- if (parsedPackageInfo != null) {
- if (parsedPackageInfo.getTargetPackageName() == null) {
- System.out.println("Got null package for ref: " + packageRef);
- parsedPackageInfo = parsePackageInfo(packageRef, packageNameMap);
- } else if (parsedPackageInfo.getTargetPackageName().contains("<")) {
- System.out.println("Not parsed correctly package : " + parsedPackageInfo.getTargetPackageName() + "; ref was: "
- + packageRef);
- parsedPackageInfo = parsePackageInfo(packageRef, packageNameMap);
- }
- pkgs.add(parsedPackageInfo);
- }
- }
-
- }
- }
- return pkgs;
- }
-
- public PackageRelation parsePackageInfo(String packageRef, Map<String, Package> packageNameMap) {
- if (packageRef.contains("(") && packageRef.contains(")")) { // assume a versioned package relation
- String[] pkgParts = packageRef.split("\\(");
- String targetPackageName = pkgParts[0].trim();
-
- String pkgRelation = pkgParts[1].trim();
- if (!pkgRelation.endsWith(")")) {
- System.out.println("The package relation string details doesn't end with ) for " + pkgRelation);
- return null;
- }
- pkgRelation = pkgRelation.substring(0, pkgRelation.length() - 1);
- String[] pkgVersionDetailParts = pkgRelation.split(" ");
-
- Package targetPackage = packageNameMap.get(targetPackageName);
- if (targetPackage == null) {
-
- }
-
- PackageRelation packageRelation = new PackageRelation(targetPackageName);
- packageRelation.setConstraint(pkgVersionDetailParts[0].trim());
- packageRelation.setVersion(pkgVersionDetailParts[1].trim());
- return packageRelation;
- } else { // simple package relation
- String targetPackageName = packageRef.trim();
- Package targetPackage = packageNameMap.get(targetPackageName);
- if (targetPackage == null) {
-
- }
- return new PackageRelation(targetPackageName);
- }
}
public void setPackageInformation(ArrayList<String> packageInformation) {