]> source.dussan.org Git - archiva.git/blob
65ceb17d0da8eb2d4978670abb0fff66114e943c
[archiva.git] /
1 package org.apache.archiva.indexer.merger;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import java.io.File;
22 import java.util.Collection;
23
24 /**
25  * @author Olivier Lamy
26  */
27 public class IndexMergerRequest
28 {
29     /**
30      * repositories Ids to merge content
31      */
32     private Collection<String> repositoriesIds;
33
34     /**
35      * will generate a downloadable index
36      */
37     private boolean packIndex;
38
39     /**
40      * original groupId (repositoryGroup id)
41      */
42     private String groupId;
43
44     private String mergedIndexPath = "/.indexer";
45
46     private int mergedIndexTtl;
47
48     private File mergedIndexDirectory;
49
50     public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId )
51     {
52         this.repositoriesIds = repositoriesIds;
53         this.packIndex = packIndex;
54         this.groupId = groupId;
55     }
56
57     /**
58      * @since 1.4-M4
59      */
60     public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId,
61                                String mergedIndexPath, int mergedIndexTtl )
62     {
63         this.repositoriesIds = repositoriesIds;
64         this.packIndex = packIndex;
65         this.groupId = groupId;
66         this.mergedIndexPath = mergedIndexPath;
67         this.mergedIndexTtl = mergedIndexTtl;
68     }
69
70     public Collection<String> getRepositoriesIds()
71     {
72         return repositoriesIds;
73     }
74
75     public void setRepositoriesIds( Collection<String> repositoriesIds )
76     {
77         this.repositoriesIds = repositoriesIds;
78     }
79
80     public boolean isPackIndex()
81     {
82         return packIndex;
83     }
84
85     public void setPackIndex( boolean packIndex )
86     {
87         this.packIndex = packIndex;
88     }
89
90     public String getGroupId()
91     {
92         return groupId;
93     }
94
95     public void setGroupId( String groupId )
96     {
97         this.groupId = groupId;
98     }
99
100     public String getMergedIndexPath()
101     {
102         return mergedIndexPath;
103     }
104
105     public void setMergedIndexPath( String mergedIndexPath )
106     {
107         this.mergedIndexPath = mergedIndexPath;
108     }
109
110     public int getMergedIndexTtl()
111     {
112         return mergedIndexTtl;
113     }
114
115     public void setMergedIndexTtl( int mergedIndexTtl )
116     {
117         this.mergedIndexTtl = mergedIndexTtl;
118     }
119
120     public File getMergedIndexDirectory()
121     {
122         return mergedIndexDirectory;
123     }
124
125     public void setMergedIndexDirectory( File mergedIndexDirectory )
126     {
127         this.mergedIndexDirectory = mergedIndexDirectory;
128     }
129
130     public IndexMergerRequest mergedIndexDirectory( File mergedIndexDirectory )
131     {
132         this.mergedIndexDirectory = mergedIndexDirectory;
133         return this;
134     }
135
136
137     @Override
138     public String toString()
139     {
140         final StringBuilder sb = new StringBuilder( "IndexMergerRequest{" );
141         sb.append( "repositoriesIds=" ).append( repositoriesIds );
142         sb.append( ", packIndex=" ).append( packIndex );
143         sb.append( ", groupId='" ).append( groupId ).append( '\'' );
144         sb.append( ", mergedIndexPath='" ).append( mergedIndexPath ).append( '\'' );
145         sb.append( ", mergedIndexTtl=" ).append( mergedIndexTtl );
146         sb.append( ", mergedIndexDirectory='" ).append( mergedIndexDirectory ).append( '\'' );
147         sb.append( '}' );
148         return sb.toString();
149     }
150
151     @Override
152     public boolean equals( Object o )
153     {
154         if ( this == o )
155         {
156             return true;
157         }
158         if ( o == null || getClass() != o.getClass() )
159         {
160             return false;
161         }
162
163         IndexMergerRequest that = (IndexMergerRequest) o;
164
165         if ( !groupId.equals( that.groupId ) )
166         {
167             return false;
168         }
169
170         return true;
171     }
172
173     @Override
174     public int hashCode()
175     {
176         return groupId.hashCode();
177     }
178 }