Lines 19-30
Link Here
|
19 |
|
19 |
|
20 |
package org.netbeans.modules.java.j2seproject; |
20 |
package org.netbeans.modules.java.j2seproject; |
21 |
|
21 |
|
|
|
22 |
import org.netbeans.spi.project.ant.AntBuildExtenderImplementation; |
22 |
import java.beans.PropertyChangeEvent; |
23 |
import java.beans.PropertyChangeEvent; |
23 |
import java.beans.PropertyChangeListener; |
24 |
import java.beans.PropertyChangeListener; |
24 |
import java.beans.PropertyChangeSupport; |
25 |
import java.beans.PropertyChangeSupport; |
25 |
import java.io.File; |
26 |
import java.io.File; |
26 |
import java.io.IOException; |
27 |
import java.io.IOException; |
|
|
28 |
import java.util.Arrays; |
27 |
import java.util.Collections; |
29 |
import java.util.Collections; |
|
|
30 |
import java.util.List; |
28 |
import java.util.logging.Level; |
31 |
import java.util.logging.Level; |
29 |
import java.util.logging.Logger; |
32 |
import java.util.logging.Logger; |
30 |
import javax.swing.Icon; |
33 |
import javax.swing.Icon; |
Lines 36-41
Link Here
|
36 |
import org.netbeans.api.project.ProjectInformation; |
39 |
import org.netbeans.api.project.ProjectInformation; |
37 |
import org.netbeans.api.project.ProjectManager; |
40 |
import org.netbeans.api.project.ProjectManager; |
38 |
import org.netbeans.api.project.ant.AntArtifact; |
41 |
import org.netbeans.api.project.ant.AntArtifact; |
|
|
42 |
import org.netbeans.api.project.ant.AntBuildExtender; |
39 |
import org.netbeans.modules.java.j2seproject.api.J2SEPropertyEvaluator; |
43 |
import org.netbeans.modules.java.j2seproject.api.J2SEPropertyEvaluator; |
40 |
import org.netbeans.modules.java.j2seproject.classpath.ClassPathProviderImpl; |
44 |
import org.netbeans.modules.java.j2seproject.classpath.ClassPathProviderImpl; |
41 |
import org.netbeans.modules.java.j2seproject.classpath.J2SEProjectClassPathExtender; |
45 |
import org.netbeans.modules.java.j2seproject.classpath.J2SEProjectClassPathExtender; |
Lines 54-60
Link Here
|
54 |
import org.netbeans.modules.java.j2seproject.wsclient.J2SEProjectWebServicesSupportProvider; |
58 |
import org.netbeans.modules.java.j2seproject.wsclient.J2SEProjectWebServicesSupportProvider; |
55 |
import org.netbeans.modules.websvc.api.client.WebServicesClientSupport; |
59 |
import org.netbeans.modules.websvc.api.client.WebServicesClientSupport; |
56 |
import org.netbeans.modules.websvc.api.jaxws.client.JAXWSClientSupport; |
60 |
import org.netbeans.modules.websvc.api.jaxws.client.JAXWSClientSupport; |
57 |
import org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper; |
|
|
58 |
import org.netbeans.modules.websvc.api.jaxws.project.WSUtils; |
61 |
import org.netbeans.modules.websvc.api.jaxws.project.WSUtils; |
59 |
import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModel; |
62 |
import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModel; |
60 |
import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModelProvider; |
63 |
import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModelProvider; |
Lines 65-75
Link Here
|
65 |
import org.netbeans.spi.project.SubprojectProvider; |
68 |
import org.netbeans.spi.project.SubprojectProvider; |
66 |
import org.netbeans.spi.project.ant.AntArtifactProvider; |
69 |
import org.netbeans.spi.project.ant.AntArtifactProvider; |
67 |
import org.netbeans.spi.project.support.LookupProviderSupport; |
70 |
import org.netbeans.spi.project.support.LookupProviderSupport; |
|
|
71 |
import org.netbeans.spi.project.ant.AntBuildExtenderImplementation; |
72 |
import org.netbeans.spi.project.support.ant.AntBuildExtenderSupport; |
68 |
import org.netbeans.spi.project.support.ant.AntProjectEvent; |
73 |
import org.netbeans.spi.project.support.ant.AntProjectEvent; |
69 |
import org.netbeans.spi.project.support.ant.AntProjectHelper; |
74 |
import org.netbeans.spi.project.support.ant.AntProjectHelper; |
70 |
import org.netbeans.spi.project.support.ant.AntProjectListener; |
75 |
import org.netbeans.spi.project.support.ant.AntProjectListener; |
71 |
import org.netbeans.spi.project.support.ant.EditableProperties; |
76 |
import org.netbeans.spi.project.support.ant.EditableProperties; |
72 |
import org.netbeans.spi.project.support.ant.FilterPropertyProvider; |
77 |
import org.netbeans.spi.project.support.ant.FilterPropertyProvider; |
|
|
78 |
import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; |
73 |
import org.netbeans.spi.project.support.ant.ProjectXmlSavedHook; |
79 |
import org.netbeans.spi.project.support.ant.ProjectXmlSavedHook; |
74 |
import org.netbeans.spi.project.support.ant.PropertyEvaluator; |
80 |
import org.netbeans.spi.project.support.ant.PropertyEvaluator; |
75 |
import org.netbeans.spi.project.support.ant.PropertyProvider; |
81 |
import org.netbeans.spi.project.support.ant.PropertyProvider; |
Lines 124-136
Link Here
|
124 |
private JaxWsModel jaxWsModel; |
130 |
private JaxWsModel jaxWsModel; |
125 |
private JaxWsListener jaxWsListener; |
131 |
private JaxWsListener jaxWsListener; |
126 |
private FileObject jaxWsFo; |
132 |
private FileObject jaxWsFo; |
|
|
133 |
private AntBuildExtender buildExtender; |
127 |
|
134 |
|
128 |
J2SEProject(AntProjectHelper helper) throws IOException { |
135 |
J2SEProject(AntProjectHelper helper) throws IOException { |
129 |
this.helper = helper; |
136 |
this.helper = helper; |
130 |
eval = createEvaluator(); |
137 |
eval = createEvaluator(); |
131 |
aux = helper.createAuxiliaryConfiguration(); |
138 |
aux = helper.createAuxiliaryConfiguration(); |
132 |
refHelper = new ReferenceHelper(helper, aux, eval); |
139 |
refHelper = new ReferenceHelper(helper, aux, eval); |
133 |
genFilesHelper = new GeneratedFilesHelper(helper); |
140 |
buildExtender = AntBuildExtenderSupport.createAntExtender(new J2SEExtenderImplementation()); |
|
|
141 |
genFilesHelper = new GeneratedFilesHelper(helper, buildExtender); |
134 |
this.updateHelper = new UpdateHelper (this, this.helper, this.aux, this.genFilesHelper, |
142 |
this.updateHelper = new UpdateHelper (this, this.helper, this.aux, this.genFilesHelper, |
135 |
UpdateHelper.createDefaultNotifier()); |
143 |
UpdateHelper.createDefaultNotifier()); |
136 |
j2seProjectWebServicesClientSupport = new J2SEProjectWebServicesClientSupport(this, helper, refHelper); |
144 |
j2seProjectWebServicesClientSupport = new J2SEProjectWebServicesClientSupport(this, helper, refHelper); |
Lines 246-251
Link Here
|
246 |
new J2SEFileBuiltQuery (this.helper, evaluator(),getSourceRoots(),getTestSourceRoots()), //Does not use APH to get/put properties/cfgdata |
254 |
new J2SEFileBuiltQuery (this.helper, evaluator(),getSourceRoots(),getTestSourceRoots()), //Does not use APH to get/put properties/cfgdata |
247 |
new RecommendedTemplatesImpl (this.updateHelper), |
255 |
new RecommendedTemplatesImpl (this.updateHelper), |
248 |
new J2SEProjectClassPathExtender(cpMod), |
256 |
new J2SEProjectClassPathExtender(cpMod), |
|
|
257 |
buildExtender, |
249 |
cpMod, |
258 |
cpMod, |
250 |
this, // never cast an externally obtained Project to J2SEProject - use lookup instead |
259 |
this, // never cast an externally obtained Project to J2SEProject - use lookup instead |
251 |
new J2SEProjectOperations(this), |
260 |
new J2SEProjectOperations(this), |
Lines 278-284
Link Here
|
278 |
} |
287 |
} |
279 |
|
288 |
|
280 |
// Package private methods ------------------------------------------------- |
289 |
// Package private methods ------------------------------------------------- |
281 |
|
290 |
|
|
|
291 |
|
282 |
/** |
292 |
/** |
283 |
* Returns the source roots of this project |
293 |
* Returns the source roots of this project |
284 |
* @return project's source roots |
294 |
* @return project's source roots |
Lines 335-341
Link Here
|
335 |
|
345 |
|
336 |
|
346 |
|
337 |
// Private innerclasses ---------------------------------------------------- |
347 |
// Private innerclasses ---------------------------------------------------- |
338 |
|
348 |
|
339 |
private final class Info implements ProjectInformation { |
349 |
private final class Info implements ProjectInformation { |
340 |
|
350 |
|
341 |
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); |
351 |
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); |
Lines 397-408
Link Here
|
397 |
genFilesHelper.refreshBuildScript( |
407 |
genFilesHelper.refreshBuildScript( |
398 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
408 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
399 |
J2SEProject.class.getResource("resources/build-impl.xsl"), |
409 |
J2SEProject.class.getResource("resources/build-impl.xsl"), |
400 |
jaxWsFo, |
410 |
// jaxWsFo, |
401 |
false); |
411 |
false); |
402 |
genFilesHelper.refreshBuildScript( |
412 |
genFilesHelper.refreshBuildScript( |
403 |
GeneratedFilesHelper.BUILD_XML_PATH, |
413 |
GeneratedFilesHelper.BUILD_XML_PATH, |
404 |
J2SEProject.class.getResource("resources/build.xsl"), |
414 |
J2SEProject.class.getResource("resources/build.xsl"), |
405 |
jaxWsFo, |
415 |
// jaxWsFo, |
406 |
false); |
416 |
false); |
407 |
} |
417 |
} |
408 |
} |
418 |
} |
Lines 421-432
Link Here
|
421 |
genFilesHelper.refreshBuildScript( |
431 |
genFilesHelper.refreshBuildScript( |
422 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
432 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
423 |
J2SEProject.class.getResource("resources/build-impl.xsl"), |
433 |
J2SEProject.class.getResource("resources/build-impl.xsl"), |
424 |
jaxWsFo, |
434 |
// jaxWsFo, |
425 |
true); |
435 |
true); |
426 |
genFilesHelper.refreshBuildScript( |
436 |
genFilesHelper.refreshBuildScript( |
427 |
GeneratedFilesHelper.BUILD_XML_PATH, |
437 |
GeneratedFilesHelper.BUILD_XML_PATH, |
428 |
J2SEProject.class.getResource("resources/build.xsl"), |
438 |
J2SEProject.class.getResource("resources/build.xsl"), |
429 |
jaxWsFo, |
439 |
// jaxWsFo, |
430 |
true); |
440 |
true); |
431 |
} |
441 |
} |
432 |
} catch (IOException e) { |
442 |
} catch (IOException e) { |
Lines 646-652
Link Here
|
646 |
} |
656 |
} |
647 |
|
657 |
|
648 |
public FileObject findJaxWsFileObject() { |
658 |
public FileObject findJaxWsFileObject() { |
649 |
return helper.getProjectDirectory().getFileObject(GeneratedFilesHelper.JAX_WS_XML_PATH); |
659 |
return helper.getProjectDirectory().getFileObject(org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper.JAX_WS_XML_PATH); |
650 |
} |
660 |
} |
651 |
|
661 |
|
652 |
private JaxWsModel getJaxWsModel() { |
662 |
private JaxWsModel getJaxWsModel() { |
Lines 675-681
Link Here
|
675 |
genFilesHelper.refreshBuildScript( |
685 |
genFilesHelper.refreshBuildScript( |
676 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
686 |
GeneratedFilesHelper.BUILD_IMPL_XML_PATH, |
677 |
J2SEProject.class.getResource("resources/build-impl.xsl"), // NOI18N |
687 |
J2SEProject.class.getResource("resources/build-impl.xsl"), // NOI18N |
678 |
jaxWsFo, false); |
688 |
// jaxWsFo, |
|
|
689 |
false); |
679 |
} catch (IOException ex) {} |
690 |
} catch (IOException ex) {} |
680 |
} |
691 |
} |
681 |
|
692 |
|
Lines 683-688
Link Here
|
683 |
|
694 |
|
684 |
} catch (IOException ex) {} |
695 |
} catch (IOException ex) {} |
685 |
} |
696 |
} |
|
|
697 |
} |
698 |
|
699 |
private class J2SEExtenderImplementation implements AntBuildExtenderImplementation { |
700 |
|
701 |
public List<String> getExtendableTargets() { |
702 |
String[] targets = new String[] { |
703 |
"-do-init", "-init-check", "-post-clean", "jar" |
704 |
}; |
705 |
return Arrays.asList(targets); |
706 |
} |
707 |
|
708 |
public void updateBuildExtensionMetadata(Element element) { |
709 |
Element el = updateHelper.getPrimaryConfigurationData(true); |
710 |
Element correctDocOne = (Element) el.getOwnerDocument().importNode(element, true); |
711 |
NodeList nl = el.getElementsByTagName(AntBuildExtenderImplementation.ELEMENT_ROOT); |
712 |
if (nl.getLength() == 1) { |
713 |
Element old = (Element) nl.item(0); |
714 |
el.replaceChild(correctDocOne, old); |
715 |
} else { |
716 |
el.appendChild(correctDocOne); |
717 |
} |
718 |
updateHelper.putPrimaryConfigurationData(el, true); |
719 |
} |
720 |
|
721 |
public Element getBuildExtensionMetadata() { |
722 |
Element el = updateHelper.getPrimaryConfigurationData(true); |
723 |
NodeList nl = el.getElementsByTagName(AntBuildExtenderImplementation.ELEMENT_ROOT); |
724 |
if (nl.getLength() == 1) { |
725 |
return (Element) nl.item(0).cloneNode(true); |
726 |
} |
727 |
return null; |
728 |
} |
729 |
|
730 |
public Project getOwningProject() { |
731 |
return J2SEProject.this; |
732 |
} |
733 |
|
686 |
} |
734 |
} |
687 |
|
735 |
|
688 |
} |
736 |
} |