View Javadoc

1   package org.apache.maven.archiva.database.constraints;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import java.util.Date;
23  
24  import org.apache.maven.archiva.database.Constraint;
25  
26  /**
27   * ArtifactsByRepositoryConstraint
28   * 
29   * @version
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  }