1 package compbio.ws.server;
\r
3 import java.util.HashSet;
\r
4 import java.util.Set;
\r
5 import java.util.TreeSet;
\r
7 import compbio.ws.client.Services;
\r
10 * Class that splits {@link Services} to categories. Services themselves have no
\r
11 * knowledge which category they belongs to.
\r
13 * This class is responsible for initialization of all the categories (done
\r
14 * statically) and holds the category names as constrains.
\r
18 * @version 1.0 September 2011
\r
20 public class Category {
\r
22 * TODO refactor initialization and constrains into separate classes if
\r
23 * further complexity is expected.
\r
27 * All of the Category names
\r
29 public static final String CATEGORY_ALIGNMENT = "Alignment";
\r
30 public static final String CATEGORY_DISORDER = "Protein Disorder";
\r
31 public static final String CATEGORY_CONSERVATION = "Conservation";
\r
34 Set<Services> services;
\r
36 private Category(String name, Set<Services> services) {
\r
38 this.services = services;
\r
41 Set<Services> getServices() {
\r
42 return new TreeSet<Services>(services);
\r
45 public static Set<Category> getCategories() {
\r
49 private static Set<Category> init() {
\r
50 Set<Services> align_services = new HashSet<Services>();
\r
51 align_services.add(Services.ClustalOWS);
\r
52 align_services.add(Services.ClustalWS);
\r
53 align_services.add(Services.MafftWS);
\r
54 align_services.add(Services.MuscleWS);
\r
55 align_services.add(Services.ProbconsWS);
\r
56 align_services.add(Services.TcoffeeWS);
\r
57 Category alignment = new Category(CATEGORY_ALIGNMENT, align_services);
\r
59 Set<Services> disorder_services = new HashSet<Services>();
\r
60 align_services.add(Services.DisemblWS);
\r
61 align_services.add(Services.GlobPlotWS);
\r
62 align_services.add(Services.IUPredWS);
\r
63 align_services.add(Services.JronnWS);
\r
65 Category disorder = new Category(CATEGORY_DISORDER, disorder_services);
\r
66 Set<Services> conservation_services = new HashSet<Services>();
\r
67 align_services.add(Services.AAConWS);
\r
69 Category conservation = new Category(CATEGORY_CONSERVATION,
\r
70 conservation_services);
\r
72 Set<Category> categories = new HashSet<Category>();
\r
73 categories.add(alignment);
\r
74 categories.add(disorder);
\r
75 categories.add(conservation);
\r