Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 246291 | Differences between
and this patch

Collapse All | Expand All

(-)j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java (-2 / +9 lines)
Lines 77-82 Link Here
77
	private IContainer[] cachedOutputContainers;
77
	private IContainer[] cachedOutputContainers;
78
	private HashMap cachedOutputMappings;
78
	private HashMap cachedOutputMappings;
79
	private HashMap cachedSourceOutputPairs;
79
	private HashMap cachedSourceOutputPairs;
80
	private boolean isSingleJavaOutputNonSource = false;
80
81
81
	/**
82
	/**
82
	 * Constructor for J2EEFlexProjDeployable.
83
	 * Constructor for J2EEFlexProjDeployable.
Lines 666-671 Link Here
666
	 *    <code>false</code> otherwise
667
	 *    <code>false</code> otherwise
667
	 */
668
	 */
668
	public boolean isSingleRootStructure() {
669
	public boolean isSingleRootStructure() {
670
		isSingleJavaOutputNonSource = false;
669
		StructureEdit edit = null;
671
		StructureEdit edit = null;
670
		try {
672
		try {
671
			edit = StructureEdit.getStructureEditForRead(getProject());
673
			edit = StructureEdit.getStructureEditForRead(getProject());
Lines 730-735 Link Here
730
							// output folder (something like classes or bin) is not a source folder, JDT copies all files
732
							// output folder (something like classes or bin) is not a source folder, JDT copies all files
731
							// (including non Java files) to this folder, so every resource needed at runtime is located 
733
							// (including non Java files) to this folder, so every resource needed at runtime is located 
732
							// in a single directory.
734
							// in a single directory.
735
							isSingleJavaOutputNonSource = true;
733
							return true;
736
							return true;
734
						} else {
737
						} else {
735
// Don't implement at this time. Currently, we claim single-rooted when ejbModlule is the output folder.  However,
738
// Don't implement at this time. Currently, we claim single-rooted when ejbModlule is the output folder.  However,
Lines 856-863 Link Here
856
	 */
859
	 */
857
	private IModuleResource[] getOptimizedMembers() throws CoreException {
860
	private IModuleResource[] getOptimizedMembers() throws CoreException {
858
		if (component != null) {
861
		if (component != null) {
859
			// For java utility modules, we can just use the output container, at this point we know there is only one
862
			if (isSingleJavaOutputNonSource) {
860
			if (J2EEProjectUtilities.isUtilityProject(getProject())) {
863
				// We determined when testing for a single root structure that this project has
864
				// one output folder and that output folder is not a source folder. Since the
865
				// output folder (for example, classes or bin) is not a source folder, JDT copies all files
866
				// (including non Java files) to this folder, so every resource needed at runtime is located 
867
				// in that single output directory.
861
				return getModuleResources(Path.EMPTY, getJavaOutputFolders()[0]);
868
				return getModuleResources(Path.EMPTY, getJavaOutputFolders()[0]);
862
			}
869
			}
863
			// For J2EE modules, we use the contents of the content root
870
			// For J2EE modules, we use the contents of the content root

Return to bug 246291