diff --git a/src/main/java/fr/packageviewer/distribution/ArchDistribution.java b/src/main/java/fr/packageviewer/distribution/ArchDistribution.java index 4d8585b..d42a1d0 100644 --- a/src/main/java/fr/packageviewer/distribution/ArchDistribution.java +++ b/src/main/java/fr/packageviewer/distribution/ArchDistribution.java @@ -24,6 +24,9 @@ import org.json.*; */ public class ArchDistribution extends AsyncRequestsParser implements Distribution { + /** + * Logger object used to split debug output and the application output + */ private static final Logger logger = LoggerManager.getLogger("ArchDistribution"); /** @@ -34,7 +37,6 @@ public class ArchDistribution extends AsyncRequestsParser implements Distributio * @param packageName String, The package's exact name * @return Pair of Package and Set of String */ - @Override public CompletableFuture>> getPackageFromAPI(String packageName) { // create a new http client diff --git a/src/main/java/fr/packageviewer/distribution/Distribution.java b/src/main/java/fr/packageviewer/distribution/Distribution.java index 7e8cb6d..1850afb 100644 --- a/src/main/java/fr/packageviewer/distribution/Distribution.java +++ b/src/main/java/fr/packageviewer/distribution/Distribution.java @@ -7,7 +7,21 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; +/** + * This interface specifies the methods needed by a distribtion to be parsable. + * + * @author R.Thomas + * @version 1.0 + */ public interface Distribution { + /** + * Search for a package matching a pattern and return a list of packages and + * return a list of string matching this pattern. + * + * @param packageName String, the pattern to search in the repositories + * @return List of SearchedPackage objects + */ Future> searchPackage(String packageName); + Future getPackageTree(String packageName, int depth); } diff --git a/src/main/java/fr/packageviewer/parser/AsyncRequestsParser.java b/src/main/java/fr/packageviewer/parser/AsyncRequestsParser.java index 9156c55..722d973 100644 --- a/src/main/java/fr/packageviewer/parser/AsyncRequestsParser.java +++ b/src/main/java/fr/packageviewer/parser/AsyncRequestsParser.java @@ -11,12 +11,34 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.logging.Logger; +/** + * This abstract class defines the method that a distribution will use + * in order to get a package and fill its dependency list. It does all that + * in an asyncron manner + * + * @author R.Thomas + * @version 1.0 + * + */ public abstract class AsyncRequestsParser { - + /** + * Logger object used to split debug output and the application output + */ private static final Logger logger = LoggerManager.getLogger("AsyncRequestsParser"); + /** + * This function return a package from the distribution's api in the form + * of a Pair Composed of a Package object, and a set of string containing + * the names of the dependecies of the package. + * + * @param packageName String, The package's exact name + * @return Pair of Package and Set of String + */ protected abstract CompletableFuture>> getPackageFromAPI(String name); + /** + * + */ public CompletableFuture getPackageTree(String packageName, int depth) { // parse the json var futurePackage = new CompletableFuture();