get list of searched packages from distrib wanted
This commit is contained in:
		
							parent
							
								
									32ae539a0d
								
							
						
					
					
						commit
						e1d40829b4
					
				| @ -1,7 +1,14 @@ | ||||
| package fr.packageviewer; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.concurrent.Future; | ||||
| 
 | ||||
| import fr.packageviewer.distribution.ArchDistribution; | ||||
| import fr.packageviewer.distribution.Distribution; | ||||
| import fr.packageviewer.pack.SearchedPackage; | ||||
| 
 | ||||
| public class Main { | ||||
| 
 | ||||
| @ -35,13 +42,70 @@ public class Main { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	private static void searchForAll(String packet) { | ||||
| 
 | ||||
| 	private static List<SearchedPackage> searchForAll(String packet) { | ||||
| 		// init distribution  to search in it | ||||
| 		Distribution arch = new ArchDistribution(); | ||||
| 		Distribution fedora = new ArchDistribution(); | ||||
| 		// search for the package in the distribution | ||||
| 		Future<List<SearchedPackage>> archPackages = arch.searchPackage(packet); | ||||
| 		Future<List<SearchedPackage>> fedoraPackages = fedora.searchPackage(packet); | ||||
| 		// init the list of packages that will be returned | ||||
| 		List<SearchedPackage> archResult = new ArrayList<>(); | ||||
| 		List<SearchedPackage> fedoraResult = new ArrayList<>(); | ||||
| 		// try to get the searched packages to return it after | ||||
| 		try { | ||||
| 			archResult = archPackages.get(); | ||||
| 			fedoraResult = fedoraPackages.get(); | ||||
| 		} catch (Exception e) { | ||||
| 			/* TODO: handle exception */ | ||||
| 		} | ||||
| 		archResult.addAll(fedoraResult); | ||||
| 		return archResult; | ||||
| 	} | ||||
| 
 | ||||
| 	private static void searchForArch(String packet) { | ||||
| 	/** | ||||
| 	 * Search for the specified package in Arch repositories | ||||
| 	 * @param packet the package to search | ||||
| 	 * @return The list of packages that match the name | ||||
| 	 * @author Capelier-Marla | ||||
| 	 */ | ||||
| 	private static List<SearchedPackage> searchForArch(String packet) { | ||||
| 		// init distribution  to search in it | ||||
| 		Distribution arch = new ArchDistribution(); | ||||
| 		// search for the package in the distribution | ||||
| 		Future<List<SearchedPackage>> packages = arch.searchPackage(packet); | ||||
| 		// init the list of packages that will be returned | ||||
| 		List<SearchedPackage> result = new ArrayList<>(); | ||||
| 		// try to get the searched packages to return it after | ||||
| 		try { | ||||
| 			result = packages.get(); | ||||
| 		} catch (Exception e) { | ||||
| 			/* TODO: handle exception */ | ||||
| 		} | ||||
| 		return result; | ||||
| 	} | ||||
| 
 | ||||
| 	private static void searchForFedora(String packet) { | ||||
| 	/** | ||||
| 	 * Search for the specified package in Fedora repositories | ||||
| 	 * @param packet the package to search | ||||
| 	 * @return The list of packages that match the name | ||||
| 	 * @author Capelier-Marla | ||||
| 	 */ | ||||
| 	private static List<SearchedPackage> searchForFedora(String packet) { | ||||
| 		// init distribution  to search in it | ||||
| 		Distribution fedora = new ArchDistribution(); | ||||
| 		// search for the package in the distribution | ||||
| 		Future<List<SearchedPackage>> packages = fedora.searchPackage(packet); | ||||
| 		// init the list of packages that will be returned | ||||
| 		List<SearchedPackage> result = new ArrayList<>(); | ||||
| 		// try to get the searched packages to return it after | ||||
| 		try { | ||||
| 			result = packages.get(); | ||||
| 		} catch (Exception e) { | ||||
| 			/* TODO: handle exception */ | ||||
| 		} | ||||
| 		return result; | ||||
| 	} | ||||
| 
 | ||||
| 	public static void main(String[] args) { | ||||
| @ -54,19 +118,23 @@ public class Main { | ||||
| 		System.out.println(packet); | ||||
| 		System.out.println(distribution); | ||||
| 
 | ||||
| 		// the list of packages we will show later | ||||
| 		List<SearchedPackage> packets = new ArrayList<>(); | ||||
| 
 | ||||
| 		// distribution is null when no distribution is specified | ||||
| 		if(distribution == null) { | ||||
| 			searchForAll(packet); | ||||
| 			packets = searchForAll(packet); | ||||
| 		} else { | ||||
| 			switch (distribution) { | ||||
| 				case "archlinux": | ||||
| 					searchForArch(packet); | ||||
| 					packets = searchForArch(packet); | ||||
| 					break; | ||||
| 				case "fedora": | ||||
| 					searchForFedora(packet); | ||||
| 					packets = searchForFedora(packet); | ||||
| 					break; | ||||
| 				default: | ||||
| 					System.out.println("Error: Unknown"); | ||||
| 					System.exit(0); | ||||
| 					break; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user