1 package org.apache.maven.archiva.database.constraints;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Date;
23
24 import org.apache.maven.archiva.database.Constraint;
25
26
27
28
29
30
31 public class ArtifactsByRepositoryConstraint
32 extends AbstractDeclarativeConstraint
33 implements Constraint
34 {
35 private String whereClause;
36
37 private String sortColumn = "groupId";
38
39 public ArtifactsByRepositoryConstraint( String repoId )
40 {
41 whereClause = "repositoryId == repoId";
42 declParams = new String[] { "String repoId" };
43 params = new Object[] { repoId };
44 }
45
46 public ArtifactsByRepositoryConstraint( String repoId, Date targetWhenGathered, String sortColumn, boolean isBefore )
47 {
48 String condition = isBefore ? "<=" : ">=";
49
50 declImports = new String[] { "import java.util.Date" };
51 whereClause = "this.repositoryId == repoId && this.whenGathered " + condition + " targetWhenGathered";
52 declParams = new String[] { "String repoId", "Date targetWhenGathered" };
53 params = new Object[] { repoId, targetWhenGathered };
54 this.sortColumn = sortColumn;
55 }
56
57 public ArtifactsByRepositoryConstraint( String repoId, String type, Date before, String sortColumn )
58 {
59 declImports = new String[] { "import java.util.Date" };
60 whereClause =
61 "this.repositoryId == repoId && this.type == type && this.whenGathered <= before";
62 declParams = new String[] { "String repoId", "String type", "Date before" };
63 params = new Object[] { repoId, type, before };
64 this.sortColumn = sortColumn;
65 }
66
67 public String getSortColumn()
68 {
69 return sortColumn;
70 }
71
72 public String getWhereCondition()
73 {
74 return whereClause;
75 }
76 }