Lines 175-193
Link Here
|
175 |
public void testRawReferenceManipulation() throws Exception { |
175 |
public void testRawReferenceManipulation() throws Exception { |
176 |
assertEquals("starting with no raw references", Collections.EMPTY_LIST, Arrays.asList(r.getRawReferences())); |
176 |
assertEquals("starting with no raw references", Collections.EMPTY_LIST, Arrays.asList(r.getRawReferences())); |
177 |
// Test simple adding of a reference. |
177 |
// Test simple adding of a reference. |
178 |
ReferenceHelper.RawReference ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean"); |
178 |
ReferenceHelper.RawReference ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean", "dojarID"); |
179 |
assertTrue("successfully added a raw ref to otherproj.dojar", r.addRawReference(ref)); |
179 |
assertTrue("successfully added a raw ref to otherproj.dojar", r.addRawReference(ref)); |
180 |
assertNull("project.properties not changed", pev.getProperty("project.otherproj")); |
180 |
assertNull("project.properties not changed", pev.getProperty("project.otherproj")); |
181 |
assertTrue("project is modified", pm.isModified(p)); |
181 |
assertTrue("project is modified", pm.isModified(p)); |
182 |
ref = r.getRawReference("otherproj", "dojar"); |
182 |
ref = r.getRawReference("otherproj", "dojarID"); |
183 |
assertNotNull("found otherproj.dojar", ref); |
183 |
assertNotNull("found otherproj.dojar", ref); |
184 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
184 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
185 |
assertEquals("correct artifact type", "jar", ref.getArtifactType()); |
185 |
assertEquals("correct artifact type", "jar", ref.getArtifactType()); |
186 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
186 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
187 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
187 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
188 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
188 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
|
|
189 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
189 |
// Nonexistent references are not returned. |
190 |
// Nonexistent references are not returned. |
190 |
ref = r.getRawReference("otherproj2", "dojar"); |
191 |
ref = r.getRawReference("otherproj2", "dojarID"); |
191 |
assertNull("no such ref otherproj2.dojar", ref); |
192 |
assertNull("no such ref otherproj2.dojar", ref); |
192 |
ref = r.getRawReference("otherproj", "dojar2"); |
193 |
ref = r.getRawReference("otherproj", "dojar2"); |
193 |
assertNull("no such ref otherproj.dojar2", ref); |
194 |
assertNull("no such ref otherproj.dojar2", ref); |
Lines 202-225
Link Here
|
202 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
203 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
203 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
204 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
204 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
205 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
|
|
206 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
205 |
// Test removing it. |
207 |
// Test removing it. |
206 |
assertTrue("successfully removed otherproj.dojar", r.removeRawReference("otherproj", "dojar")); |
208 |
assertTrue("successfully removed otherproj.dojar", r.removeRawReference("otherproj", "dojarID")); |
207 |
refs = r.getRawReferences(); |
209 |
refs = r.getRawReferences(); |
208 |
assertEquals("no references here", 0, refs.length); |
210 |
assertEquals("no references here", 0, refs.length); |
209 |
ref = r.getRawReference("otherproj", "dojar"); |
211 |
ref = r.getRawReference("otherproj", "dojar"); |
210 |
assertNull("otherproj.dojar is gone", ref); |
212 |
assertNull("otherproj.dojar is gone", ref); |
211 |
// Test adding several references. |
213 |
// Test adding several references. |
212 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean"); |
214 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean", "dojarID"); |
213 |
assertTrue("added ref to otherproj.dojar", r.addRawReference(ref)); |
215 |
assertTrue("added ref to otherproj.dojar", r.addRawReference(ref)); |
214 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar2", "clean"); |
216 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar2", "clean", "dojar2ID"); |
215 |
assertTrue("added ref to otherproj.dojar2", r.addRawReference(ref)); |
217 |
assertTrue("added ref to otherproj.dojar2", r.addRawReference(ref)); |
216 |
ref = new ReferenceHelper.RawReference("otherproj2", "ear", URI.create("build.xml"), "dojar", "clean"); |
218 |
ref = new ReferenceHelper.RawReference("otherproj2", "ear", URI.create("build.xml"), "dojar", "clean", "dojarID"); |
217 |
assertTrue("added ref to otherproj2.dojar", r.addRawReference(ref)); |
219 |
assertTrue("added ref to otherproj2.dojar", r.addRawReference(ref)); |
218 |
assertEquals("have three refs", 3, r.getRawReferences().length); |
220 |
assertEquals("have three refs", 3, r.getRawReferences().length); |
219 |
// Test no-op adds and removes. |
221 |
// Test no-op adds and removes. |
220 |
pm.saveProject(p); |
222 |
pm.saveProject(p); |
221 |
assertFalse("project is saved", pm.isModified(p)); |
223 |
assertFalse("project is saved", pm.isModified(p)); |
222 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean"); |
224 |
ref = new ReferenceHelper.RawReference("otherproj", "jar", URI.create("build.xml"), "dojar", "clean", "dojarID"); |
223 |
assertFalse("already had ref to otherproj.dojar", r.addRawReference(ref)); |
225 |
assertFalse("already had ref to otherproj.dojar", r.addRawReference(ref)); |
224 |
assertFalse("project is not modified by no-op add", pm.isModified(p)); |
226 |
assertFalse("project is not modified by no-op add", pm.isModified(p)); |
225 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
227 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
Lines 227-260
Link Here
|
227 |
assertFalse("project is not modified by no-op remove", pm.isModified(p)); |
229 |
assertFalse("project is not modified by no-op remove", pm.isModified(p)); |
228 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
230 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
229 |
// Test modifications. |
231 |
// Test modifications. |
230 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build.xml"), "dojar", "clean"); |
232 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build.xml"), "dojar", "clean", "dojarID"); |
231 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
233 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
232 |
assertTrue("project is modified by changed ref", pm.isModified(p)); |
234 |
assertTrue("project is modified by changed ref", pm.isModified(p)); |
233 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
235 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
234 |
ref = r.getRawReference("otherproj", "dojar"); |
236 |
ref = r.getRawReference("otherproj", "dojarID"); |
235 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
237 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
236 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
238 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
237 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
239 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
238 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
240 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
239 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
241 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
240 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build2.xml"), "dojar", "clean"); |
242 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
|
|
243 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build2.xml"), "dojar", "clean", "dojarID"); |
241 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
244 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
242 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build2.xml"), "dojar", "clean2"); |
245 |
ref = new ReferenceHelper.RawReference("otherproj", "war", URI.create("build2.xml"), "dojar", "clean2", "dojarID"); |
243 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
246 |
assertTrue("modified ref to otherproj.dojar", r.addRawReference(ref)); |
244 |
ref = r.getRawReference("otherproj", "dojar"); |
247 |
ref = r.getRawReference("otherproj", "dojarID"); |
245 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
248 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
246 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
249 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
247 |
assertEquals("correct script location", URI.create("build2.xml"), ref.getScriptLocation()); |
250 |
assertEquals("correct script location", URI.create("build2.xml"), ref.getScriptLocation()); |
248 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
251 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
249 |
assertEquals("correct clean target name", "clean2", ref.getCleanTargetName()); |
252 |
assertEquals("correct clean target name", "clean2", ref.getCleanTargetName()); |
|
|
253 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
250 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
254 |
assertEquals("still have three refs", 3, r.getRawReferences().length); |
251 |
// More removals and adds. |
255 |
// More removals and adds. |
252 |
assertTrue("now removing otherproj.dojar2", r.removeRawReference("otherproj", "dojar2")); |
256 |
assertTrue("now removing otherproj.dojar2", r.removeRawReference("otherproj", "dojar2ID")); |
253 |
assertNull("otherproj.dojar2 is gone", r.getRawReference("otherproj", "dojar2")); |
257 |
assertNull("otherproj.dojar2 is gone", r.getRawReference("otherproj", "dojar2ID")); |
254 |
assertNotNull("otherproj.jar is still there", r.getRawReference("otherproj", "dojar")); |
258 |
assertNotNull("otherproj.jar is still there", r.getRawReference("otherproj", "dojarID")); |
255 |
assertNotNull("otherproj2.dojar is still there", r.getRawReference("otherproj2", "dojar")); |
259 |
assertNotNull("otherproj2.dojar is still there", r.getRawReference("otherproj2", "dojarID")); |
256 |
assertEquals("down to two refs", 2, r.getRawReferences().length); |
260 |
assertEquals("down to two refs", 2, r.getRawReferences().length); |
257 |
ref = new ReferenceHelper.RawReference("aardvark", "jar", URI.create("build.xml"), "jar", "clean"); |
261 |
ref = new ReferenceHelper.RawReference("aardvark", "jar", URI.create("build.xml"), "jar", "clean", "jarID"); |
258 |
assertTrue("added ref to aardvark.jar", r.addRawReference(ref)); |
262 |
assertTrue("added ref to aardvark.jar", r.addRawReference(ref)); |
259 |
// Check list of refs. |
263 |
// Check list of refs. |
260 |
refs = r.getRawReferences(); |
264 |
refs = r.getRawReferences(); |
Lines 266-283
Link Here
|
266 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
270 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
267 |
assertEquals("correct target name", "jar", ref.getTargetName()); |
271 |
assertEquals("correct target name", "jar", ref.getTargetName()); |
268 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
272 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
|
|
273 |
assertEquals("correct ID name", "jarID", ref.getID()); |
269 |
ref = refs[1]; |
274 |
ref = refs[1]; |
270 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
275 |
assertEquals("correct foreign project name", "otherproj", ref.getForeignProjectName()); |
271 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
276 |
assertEquals("correct modified artifact type", "war", ref.getArtifactType()); |
272 |
assertEquals("correct script location", URI.create("build2.xml"), ref.getScriptLocation()); |
277 |
assertEquals("correct script location", URI.create("build2.xml"), ref.getScriptLocation()); |
273 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
278 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
274 |
assertEquals("correct clean target name", "clean2", ref.getCleanTargetName()); |
279 |
assertEquals("correct clean target name", "clean2", ref.getCleanTargetName()); |
|
|
280 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
275 |
ref = refs[2]; |
281 |
ref = refs[2]; |
276 |
assertEquals("correct foreign project name", "otherproj2", ref.getForeignProjectName()); |
282 |
assertEquals("correct foreign project name", "otherproj2", ref.getForeignProjectName()); |
277 |
assertEquals("correct modified artifact type", "ear", ref.getArtifactType()); |
283 |
assertEquals("correct modified artifact type", "ear", ref.getArtifactType()); |
278 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
284 |
assertEquals("correct script location", URI.create("build.xml"), ref.getScriptLocation()); |
279 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
285 |
assertEquals("correct target name", "dojar", ref.getTargetName()); |
280 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
286 |
assertEquals("correct clean target name", "clean", ref.getCleanTargetName()); |
|
|
287 |
assertEquals("correct ID name", "dojarID", ref.getID()); |
281 |
// Try saving and checking that project.xml is correct. |
288 |
// Try saving and checking that project.xml is correct. |
282 |
assertTrue("Project is still modified", pm.isModified(p)); |
289 |
assertTrue("Project is still modified", pm.isModified(p)); |
283 |
pm.saveProject(p); |
290 |
pm.saveProject(p); |
Lines 294-299
Link Here
|
294 |
"script", |
301 |
"script", |
295 |
"target", |
302 |
"target", |
296 |
"clean-target", |
303 |
"clean-target", |
|
|
304 |
"id", |
297 |
}; |
305 |
}; |
298 |
String[][] values = { |
306 |
String[][] values = { |
299 |
{ |
307 |
{ |
Lines 302-307
Link Here
|
302 |
"build.xml", |
310 |
"build.xml", |
303 |
"jar", |
311 |
"jar", |
304 |
"clean", |
312 |
"clean", |
|
|
313 |
"jarID", |
305 |
}, |
314 |
}, |
306 |
{ |
315 |
{ |
307 |
"otherproj", |
316 |
"otherproj", |
Lines 309-314
Link Here
|
309 |
"build2.xml", |
318 |
"build2.xml", |
310 |
"dojar", |
319 |
"dojar", |
311 |
"clean2", |
320 |
"clean2", |
|
|
321 |
"dojarID", |
312 |
}, |
322 |
}, |
313 |
{ |
323 |
{ |
314 |
"otherproj2", |
324 |
"otherproj2", |
Lines 316-326
Link Here
|
316 |
"build.xml", |
326 |
"build.xml", |
317 |
"dojar", |
327 |
"dojar", |
318 |
"clean", |
328 |
"clean", |
|
|
329 |
"dojarID", |
319 |
}, |
330 |
}, |
320 |
}; |
331 |
}; |
321 |
for (int i = 0; i < 3; i++) { |
332 |
for (int i = 0; i < 3; i++) { |
322 |
Element reference = (Element)nl.item(i); |
333 |
Element reference = (Element)nl.item(i); |
323 |
for (int j = 0; j < 5; j++) { |
334 |
for (int j = 0; j < 6; j++) { |
324 |
String elementName = elementNames[j]; |
335 |
String elementName = elementNames[j]; |
325 |
Element element = Util.findElement(reference, elementName, ReferenceHelper.REFS_NS); |
336 |
Element element = Util.findElement(reference, elementName, ReferenceHelper.REFS_NS); |
326 |
assertNotNull("had element " + elementName + " in ref #" + i, element); |
337 |
assertNotNull("had element " + elementName + " in ref #" + i, element); |
Lines 549-555
Link Here
|
549 |
// test non-collocated foreign project reference |
560 |
// test non-collocated foreign project reference |
550 |
FileObject nonCollocatedProjectLib = scratch.getFileObject("separate/proj3").createFolder("dist").createData("proj3.jar"); |
561 |
FileObject nonCollocatedProjectLib = scratch.getFileObject("separate/proj3").createFolder("dist").createData("proj3.jar"); |
551 |
f = FileUtil.toFile(nonCollocatedProjectLib); |
562 |
f = FileUtil.toFile(nonCollocatedProjectLib); |
552 |
art = AntArtifactQuery.findArtifactByTarget(pm.findProject(sepprojdir), "dojar"); |
563 |
art = AntArtifactQuery.findArtifactByID(pm.findProject(sepprojdir), "dojar"); |
553 |
assertNotNull("have an artifact proj3.dojar", art); |
564 |
assertNotNull("have an artifact proj3.dojar", art); |
554 |
assertEquals("can add a reference to a direct artifact", "${reference.proj3.dojar}", r.createForeignFileReference(art)); |
565 |
assertEquals("can add a reference to a direct artifact", "${reference.proj3.dojar}", r.createForeignFileReference(art)); |
555 |
assertEquals("creating reference second time must return already existing ID", "${reference.proj3.dojar}", r.createForeignFileReference(art)); |
566 |
assertEquals("creating reference second time must return already existing ID", "${reference.proj3.dojar}", r.createForeignFileReference(art)); |
Lines 634-640
Link Here
|
634 |
|
645 |
|
635 |
public void testToAntArtifact() throws Exception { |
646 |
public void testToAntArtifact() throws Exception { |
636 |
ReferenceHelper.RawReference ref = new ReferenceHelper.RawReference( |
647 |
ReferenceHelper.RawReference ref = new ReferenceHelper.RawReference( |
637 |
"proj2", "irrelevant", new URI("also-irrelevant"), "dojar", "totally-irrelevant"); |
648 |
"proj2", "irrelevant", new URI("also-irrelevant"), "dojar", "totally-irrelevant", "dojar"); |
638 |
AntArtifact art = ref.toAntArtifact(r); |
649 |
AntArtifact art = ref.toAntArtifact(r); |
639 |
assertNull("${project.proj2} not set, will not be found", art); |
650 |
assertNull("${project.proj2} not set, will not be found", art); |
640 |
EditableProperties props = h.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); |
651 |
EditableProperties props = h.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); |
Lines 648-654
Link Here
|
648 |
assertEquals("correct target name", "dojar", art.getTargetName()); |
659 |
assertEquals("correct target name", "dojar", art.getTargetName()); |
649 |
assertEquals("correct clean target name", "clean", art.getCleanTargetName()); |
660 |
assertEquals("correct clean target name", "clean", art.getCleanTargetName()); |
650 |
ref = new ReferenceHelper.RawReference( |
661 |
ref = new ReferenceHelper.RawReference( |
651 |
"proj2", "irrelevant", new URI("also-irrelevant"), "doojar", "totally-irrelevant"); |
662 |
"proj2", "irrelevant", new URI("also-irrelevant"), "doojar", "totally-irrelevant", "doojar"); |
652 |
art = ref.toAntArtifact(r); |
663 |
art = ref.toAntArtifact(r); |
653 |
assertNull("wrong target name, will not be found", art); |
664 |
assertNull("wrong target name, will not be found", art); |
654 |
} |
665 |
} |