Source code: org/repoweb/model/util/ALU.java
1 /*
2 * REPOWEB, repository manager.
3 *
4 * Terms of license - http://opensource.org/licenses/apachepl.php
5 */
6 package org.repoweb.model.util;
7 import java.util.Iterator;
8 import javax.servlet.http.HttpServletRequest;
9 import org.repoweb.model.Artifact;
10 import org.repoweb.model.ArtifactList;
11 import org.repoweb.model.ArtifactListFilter;
12 import org.repoweb.model.Group;
13 /**
14 * Utilitary class for JSPs .
15 */
16 public final class ALU {
17 private static final String DO_MAVEN = "/do/maven/";
18
19 private ALU() {}
20
21 public static Iterator groups(final ArtifactList list) {
22 ArtifactListFilter filter = list.newPropertyFilter("groupId");
23 return filter.applyFilter();
24 }
25
26
27 public static Iterator versionByGroup(final Object groupId, final ArtifactList list) {
28 ArtifactListFilter filter = list.newPropertyFilter("version");
29 filter.setGroupId((String)groupId);
30 filter.setReverse(true);
31 return filter.applyFilter();
32 }
33
34
35 public static Iterator artifactByGroupAndVersion(final Object groupId,
36 final Object version, final ArtifactList list) {
37 ArtifactListFilter filter = list.newArtifactFilter();
38 filter.setGroupId((String)groupId);
39 filter.setVersion((String)version);
40 return filter.applyFilter();
41 }
42
43
44 // ------------------------------------------------------------------------
45 // For the second view
46 // ------------------------------------------------------------------------
47 public static Iterator typeByGroup(final Object groupId, final ArtifactList list) {
48 ArtifactListFilter filter = list.newPropertyFilter("type");
49 filter.setGroupId((String)groupId);
50 return filter.applyFilter();
51 }
52
53
54 public static Iterator artifactIdByGroupAndType(final Object groupId,
55 final Object type, final ArtifactList list) {
56 ArtifactListFilter filter = list.newPropertyFilter("artifactId");
57 filter.setGroupId((String)groupId);
58 filter.setType((String)type);
59 return filter.applyFilter();
60 }
61
62
63 public static Iterator artifactFor(final Object groupId, final Object type,
64 final Object artifactId, final ArtifactList list) {
65 ArtifactListFilter filter = list.newArtifactFilter();
66 filter.setGroupId((String)groupId);
67 filter.setType((String)type);
68 filter.setArtifactId((String)artifactId);
69 filter.setReverse(true);
70 return filter.applyFilter();
71 }
72
73
74 // ------------------------------------------------------------------------
75 // URL factory
76 // ------------------------------------------------------------------------
77 public static String groupURL(final HttpServletRequest request, final Object group) {
78 Object groupId = group;
79 if (group instanceof Group) {
80 groupId = ((Group)group).getGroupId();
81 }
82 return request.getContextPath() + DO_MAVEN + groupId;
83 }
84
85
86 public static String groupTypeURL(final HttpServletRequest request,
87 final Object groupId, final Object type) {
88 String typeWithS = (((String)type).endsWith("s")) ? (String)type : (type + "s");
89 return request.getContextPath() + DO_MAVEN + groupId + "/" + typeWithS;
90 }
91
92
93 public static String artifactURL(final HttpServletRequest request,
94 final Object artifact) {
95 Artifact art = (Artifact)artifact;
96 return request.getContextPath() + DO_MAVEN + art.getGroupId() + "/"
97 + art.getType() + "s/" + art.getFileName();
98 }
99 }