new function to get a package and its dependencies
This commit is contained in:
parent
c9aed83465
commit
19517d5b6c
@ -8,6 +8,7 @@ import fr.packageviewer.distribution.ArchDistribution;
|
||||
import fr.packageviewer.distribution.Distribution;
|
||||
import fr.packageviewer.distribution.FedoraDistribution;
|
||||
import fr.packageviewer.pack.SearchedPackage;
|
||||
import fr.packageviewer.pack.Package;
|
||||
|
||||
public class Searcher {
|
||||
public static List<SearchedPackage> searchForAll(String packet) {
|
||||
@ -74,4 +75,40 @@ public class Searcher {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for the specific package in the specific distribution, we need the searchedPackage to get informations about it like it name and distribution
|
||||
* @param pSearchedPackage the package to search for
|
||||
* @return a complete package with its dependencies
|
||||
* @author Capelier-Marla
|
||||
*/
|
||||
public static Package getPackage(SearchedPackage pSearchedPackage) {
|
||||
// we get the name of the distribution of the package
|
||||
String distName = pSearchedPackage.getDistribution();
|
||||
// we create a distribution object
|
||||
Distribution distribution;
|
||||
switch (distName) {
|
||||
case "archlinux":
|
||||
distribution = new ArchDistribution();
|
||||
break;
|
||||
case "fedora":
|
||||
distribution = new FedoraDistribution();
|
||||
break;
|
||||
default:
|
||||
System.out.println("Error: Unknown");
|
||||
System.exit(1);
|
||||
return null;
|
||||
}
|
||||
// create the futue package we'll get from searching
|
||||
Future<Package> packet = distribution.getPackageTree(pSearchedPackage.getName(), 4);
|
||||
// object containing the package we're looking for
|
||||
Package result;
|
||||
try {
|
||||
result = packet.get();
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
// return the package
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user