Author: rob.stryker(a)jboss.com
Date: 2009-07-16 12:03:04 -0400 (Thu, 16 Jul 2009)
New Revision: 16596
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ModuleAssemblyRootPage.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/IChildModuleProvider.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/J2EEDependenciesPage.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/IDependencyPageProvider.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependenciesPropertyPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependencyPageProvider.java
Log:
JBIDE-4320 - Further development on the property page...
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/IChildModuleProvider.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/IChildModuleProvider.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/IChildModuleProvider.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -1,23 +0,0 @@
-package org.jboss.ide.eclipse.as.wtp.override.core.modules;
-
-import org.eclipse.wst.server.core.IModule;
-
-
-public interface IChildModuleProvider {
- /**
- * Returns the modules contained within this module. The returned modules
- * can be either modulecore projects or representations of binary jars
- *
- * @return a possibly empty array of modules contained within this application
- */
- public IModule[] getModules();
-
- /**
- * Returns the URI of the given module within this enterprise application.
- *
- * @param module a module within this application
- * @return the URI of the given module, or <code>null</code> if the URI
could
- * not be found
- */
- public String getURI(IModule module);
-}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/modules/JBTProjectModuleDelegate.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -0,0 +1,62 @@
+package org.jboss.ide.eclipse.as.wtp.override.core.modules;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
+import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.model.IModuleResource;
+import org.eclipse.wst.server.core.util.ModuleFile;
+import org.eclipse.wst.server.core.util.ModuleFolder;
+import org.eclipse.wst.server.core.util.ProjectModule;
+
+public class JBTProjectModuleDelegate extends ProjectModule {
+ public JBTProjectModuleDelegate() {
+ super();
+ }
+ public JBTProjectModuleDelegate(IProject project) {
+ super(project);
+ }
+
+ @Override
+ public IModule[] getChildModules() {
+ return null;
+ }
+
+ public IModuleResource[] members() throws CoreException {
+ IProject project = getProject();
+ final IVirtualComponent c = ComponentCore.createComponent(project);
+ IVirtualFolder vf = c.getRootFolder();
+ IModuleResource[] children = getResources(vf);
+ return children;
+ }
+
+ protected IModuleResource[] getResources(IVirtualFolder parent) {
+ ArrayList<IModuleResource> members = new ArrayList<IModuleResource>();
+ IVirtualResource[] resources = new IVirtualResource[]{};
+ try {
+ resources = parent.members();
+ } catch( CoreException ce ) {}
+ for( int i = 0; i < resources.length; i++ ) {
+ if( resources[i].getType() == IVirtualResource.FILE) {
+ IFile f = (IFile)resources[i].getUnderlyingResource();
+ ModuleFile mf = new ModuleFile(f, f.getName(),
resources[i].getRuntimePath().removeLastSegments(1));
+ members.add(mf);
+ } else if( resources[i].getType() == IVirtualResource.FOLDER){
+ IFolder folder = (IFolder)resources[i].getUnderlyingResource();
+ ModuleFolder mf = new ModuleFolder(folder, folder.getName(),
resources[i].getRuntimePath().removeLastSegments(1));
+ IModuleResource[] children = getResources((IVirtualFolder)resources[i]);
+ mf.setMembers(children);
+ members.add(mf);
+ }
+ }
+ return (IModuleResource[]) members
+ .toArray(new IModuleResource[members.size()]);
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualComponent.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -23,6 +23,7 @@
import org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder;
import org.eclipse.wst.common.componentcore.internal.util.IComponentImplFactory;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
@@ -52,7 +53,7 @@
}
public IVirtualFolder createFolder(IProject aProject, IPath aRuntimePath) {
- return new VirtualFolder(aProject, aRuntimePath);
+ return new JBTVirtualFolder(aProject, aRuntimePath, this);
}
@@ -62,12 +63,11 @@
*/
public IVirtualReference[] getReferences() {
-
IVirtualReference[] cached = getCachedReferences();
if (cached != null)
return cached;
List<IVirtualReference> hardReferences = getHardReferences(this);
- if( shouldExposeLooseReferences()) {
+ if( exposesLooseReferences()) {
List dynamicReferences = getLooseArchiveReferences(this, hardReferences);
if (dynamicReferences != null) {
hardReferences.addAll(dynamicReferences);
@@ -77,10 +77,14 @@
return cachedReferences;
}
- protected boolean shouldExposeLooseReferences() {
+ protected boolean exposesLooseReferences() {
return false;
}
+ protected boolean isDynamicComponent(IVirtualFile file) {
+ return false;
+ }
+
// Returns cache if still valid or null
public IVirtualReference[] getCachedReferences() {
if (cachedReferences != null && checkIfStillValid())
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.core/src/org/jboss/ide/eclipse/as/wtp/override/core/vcf/JBTVirtualFolder.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -0,0 +1,62 @@
+package org.jboss.ide.eclipse.as.wtp.override.core.vcf;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
+import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+
+public class JBTVirtualFolder extends VirtualFolder {
+ private JBTVirtualComponent component;
+ public JBTVirtualFolder(IProject aComponentProject,
+ IPath aRuntimePath, JBTVirtualComponent component) {
+ super(aComponentProject, aRuntimePath);
+ this.component = component;
+ }
+
+ public IVirtualResource[] superMembers() throws CoreException {
+ return superMembers(IResource.NONE);
+ }
+
+ public IVirtualResource[] superMembers(int memberFlags) throws CoreException {
+ return super.members(memberFlags);
+ }
+
+ public boolean isDynamicComponent(IVirtualFile vFile){
+ return component.isDynamicComponent(vFile);
+ }
+
+ /**
+ * For now, just rip out files with .jar, .rar, or .war file extensions, because these
are
+ * the only files automatically added dyamically
+ */
+ public IVirtualResource[] members(int memberFlags) throws CoreException {
+ // If this component doesn't expose loose refs, just give normal answer
+ if( !component.exposesLooseReferences() ) {
+ return superMembers(memberFlags);
+ }
+
+ IVirtualResource[] members = superMembers(memberFlags);
+ List virtualResources = new ArrayList();
+ boolean shouldAdd = true;
+ for (int i = 0; i < members.length; i++) {
+ shouldAdd = true;
+ if (IVirtualResource.FILE == members[i].getType()) {
+ if(isDynamicComponent((IVirtualFile)members[i])){
+ shouldAdd = false;
+ }
+ }
+ if (shouldAdd) {
+ virtualResources.add(members[i]);
+ }
+ }
+ return (IVirtualResource[]) virtualResources
+ .toArray(new IVirtualResource[virtualResources.size()]);
+ }
+}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml 2009-07-16
16:00:38 UTC (rev 16595)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml 2009-07-16
16:03:04 UTC (rev 16596)
@@ -10,7 +10,7 @@
adaptable="true"
objectClass="org.eclipse.core.resources.IProject"
name="Module Dependencies (JBT)"
-
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.J2EEDependenciesPage"
+
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.ModuleAssemblyRootPage"
id="org.jboss.ide.eclipse.as.wtp.override.ui.J2EEDependenciesPage">
<enabledWhen>
<and>
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -103,7 +103,7 @@
protected final String PATH_SEPARATOR =
ComponentDependencyContentProvider.PATH_SEPARATOR;
private boolean hasInitialized = false;
protected final IProject project;
- protected final J2EEDependenciesPage propPage;
+ protected final ModuleAssemblyRootPage propPage;
protected IVirtualComponent rootComponent = null;
protected Text componentNameText;
protected Label availableModules;
@@ -126,7 +126,7 @@
* Constructor for AddModulestoEARPropertiesControl.
*/
public AddModuleDependenciesPropertiesPage(final IProject project,
- final J2EEDependenciesPage page) {
+ final ModuleAssemblyRootPage page) {
this.project = project;
this.propPage = page;
rootComponent = ComponentCore.createComponent(project);
@@ -143,7 +143,7 @@
layout.marginWidth = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- J2EEDependenciesPage.createDescriptionComposite(composite,
+ ModuleAssemblyRootPage.createDescriptionComposite(composite,
ManifestUIResourceHandler.EAR_Modules_Desc);
createListGroup(composite);
refresh();
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/IDependencyPageProvider.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/IDependencyPageProvider.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/IDependencyPageProvider.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -5,6 +5,6 @@
public interface IDependencyPageProvider {
public boolean canHandle(IFacetedProject project);
- public IModuleDependenciesControl[] createPages(IFacetedProject project,
J2EEDependenciesPage parent);
+ public IModuleDependenciesControl[] createPages(IFacetedProject project,
ModuleAssemblyRootPage parent);
public Composite createRootControl(IModuleDependenciesControl[] pages, Composite
parent);
}
Deleted:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/J2EEDependenciesPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/J2EEDependenciesPage.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/J2EEDependenciesPage.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- *
http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation as prop page heirarchy
- * rfrost(a)bea.com - conversion to single property page impl
- *******************************************************************************/
-
-package org.jboss.ide.eclipse.as.wtp.override.ui.propertypage;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.jboss.ide.eclipse.as.wtp.override.ui.Messages;
-import
org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.impl.EarModuleDependenciesPropertyPage;
-
-
-/*
- * The only change in this file between here and upstream is
- * the method createEARContent
- *
- * We'd obviously prefer to remove the extension of the superclass here
- * but elements in the web ui demand we be a part of that tree for right now
- * Also we'd switch to depending on IModuleDependenciesControl (local)
- */
-
-/**
- * Primary project property page for J2EE dependencies; content is dynamically
- * generated based on the project facets and will be comprised by a
- * set of IJ2EEDependenciesControl implementations.
- *
- */
-public class J2EEDependenciesPage extends PropertyPage {
-
- public String DESCRIPTION = Messages.J2EEDependenciesPage_Description;
-
- private IProject project;
- private IModuleDependenciesControl[] controls = new IModuleDependenciesControl[0];
-
- public J2EEDependenciesPage() {
- super();
- }
-
- private Composite getFacetErrorComposite(final Composite parent) {
- final String errorCheckingFacet = Messages.J2EEDependenciesPage_ErrorCheckingFacets;
- setErrorMessage(errorCheckingFacet);
- setValid(false);
- return getErrorComposite(parent, errorCheckingFacet);
- }
-
- private Composite getErrorComposite(final Composite parent, final String error) {
- final Composite composite = new Composite(parent, SWT.NONE);
- final GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginWidth = 0;
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- final Label label= new Label(composite, SWT.NONE);
- label.setText(error);
- return composite;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.IPreferencePage#performOk()
- */
- public boolean performOk() {
- for (int i = 0; i < controls.length; i++) {
- if (controls[i] != null) {
- if (!controls[i].performOk()) {
- return false;
- }
- }
- }
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
- public void performDefaults() {
- for (int i = 0; i < controls.length; i++) {
- if (controls[i] != null) {
- controls[i].performDefaults();
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
- */
- public boolean performCancel() {
- for (int i = 0; i < controls.length; i++) {
- if (controls[i] != null) {
- if (!controls[i].performCancel()) {
- return false;
- }
- }
- }
- return super.performCancel();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
- */
- public void setVisible(boolean visible) {
- super.setVisible(visible);
- for (int i = 0; i < controls.length; i++) {
- if (controls[i] != null) {
- controls[i].setVisible(visible);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
- */
- public void dispose() {
- super.dispose();
- for (int i = 0; i < controls.length; i++) {
- if(controls[i] != null){
- controls[i].dispose();
- }
- }
- }
-
- protected static void createDescriptionComposite(final Composite parent, final String
description) {
- Composite descriptionComp = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- descriptionComp.setLayout(layout);
- descriptionComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- fillDescription(descriptionComp, description);
- }
-
- private static void fillDescription(Composite c, String s) {
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = 250;
- Text text = new Text(c, SWT.READ_ONLY | SWT.WRAP);
- text.setLayoutData(data);
- text.setText(s);
- }
-
- protected Control createContents(Composite parent) {
-
- // Need to find out what type of project we are handling
- project = (IProject) getElement().getAdapter(IResource.class);
- if( project != null ) {
- try {
- IFacetedProject facetedProject = ProjectFacetsManager.create(project);
- IDependencyPageProvider provider = null;
- if( facetedProject == null )
- return getFacetErrorComposite(parent);
-
- provider = DependencyPageExtensionManager.getManager().getProvider(facetedProject);
- if( provider != null ) {
- controls = provider.createPages(facetedProject, this);
- return provider.createRootControl(controls, parent);
- }
- AddModuleDependenciesPropertiesPage page = new
AddModuleDependenciesPropertiesPage(project, this);
- controls = new IModuleDependenciesControl[1];
- controls[0] = page;
- return page.createContents(parent);
- } catch( CoreException ce ) {
- }
- }
- return getFacetErrorComposite(parent);
- }
-
- /*
- * This can maybe be replaced with an extension point in the future
- * This is the area that needs to be extended.
- */
- protected Control createContents2(Composite parent, IFacetedProject facetedProject) {
-// boolean isEAR =
facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE));
-// boolean isWEB =
facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_WEB_MODULE));
-// if (isEAR) {
-// return createEARContent(parent);
-// } else if (isWEB) {
-// return createWebContent(parent);
-// }
- return null;
- }
-
-
- /*
- * This method is different from upstream
- */
- private Composite createEARContent(final Composite parent) {
- //AddModuleDependenciesPropertiesPage page = new
AddModuleDependenciesPropertiesPage(project, this);
- EarModuleDependenciesPropertyPage page = new EarModuleDependenciesPropertyPage(project,
this);
- controls = new IModuleDependenciesControl[1];
- controls[0] = page;
- return page.createContents(parent);
- }
-
-// private Composite createWebContent(final Composite parent) {
-// final boolean standalone = J2EEProjectUtilities.isStandaloneProject(project);
-//
-// if (standalone) {
-// // only need to create the Web Libraries page
-// controls = new IJ2EEDependenciesControl[1];
-// controls[0] = new WebLibDependencyPropertiesPage(project, this);
-// return controls[0].createContents(parent);
-// } else {
-// // Create a tabbed folder with both "J2EE Modules" and "Web
Libraries"
-// final TabFolder folder = new TabFolder(parent, SWT.LEFT);
-// folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-// folder.setFont(parent.getFont());
-//
-// // Create the two tabs
-// controls = new IJ2EEDependenciesControl[2];
-//
-// controls[0] = new JARDependencyPropertiesPage(project, this);
-// TabItem tab = new TabItem(folder, SWT.NONE);
-// tab.setControl(controls[0].createContents(folder));
-// tab.setText(ManifestUIResourceHandler.J2EE_Modules);
-// controls[1] = new WebLibDependencyPropertiesPage(project, this);
-// tab = new TabItem(folder, SWT.NONE);
-// tab.setControl(controls[1].createContents(folder));
-// tab.setText(ManifestUIResourceHandler.Web_Libraries);
-//
-// folder.setSelection(0);
-// return folder;
-// }
-// }
-//
-// private Composite createNonEARContent(final Composite parent) {
-// controls = new IJ2EEDependenciesControl[1];
-// final boolean standalone = J2EEProjectUtilities.isStandaloneProject(project);
-// if (standalone) {
-// // if not referenced by an EAR, check if referenced by a dynamic web project
-// if (J2EEProjectUtilities.getReferencingWebProjects(project).length > 0) {
-// controls[0] = new WebRefDependencyPropertiesPage(project, this);
-// } else {
-// return getUnreferencedErrorComposite(parent);
-// }
-// } else {
-// controls[0] = new JARDependencyPropertiesPage(project, this);
-// }
-//
-// return controls[0].createContents(parent);
-// }
-//
-}
Copied:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ModuleAssemblyRootPage.java
(from rev 16376,
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/J2EEDependenciesPage.java)
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ModuleAssemblyRootPage.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ModuleAssemblyRootPage.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -0,0 +1,182 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial implementation as prop page heirarchy
+ * rfrost(a)bea.com - conversion to single property page impl
+ *******************************************************************************/
+
+package org.jboss.ide.eclipse.as.wtp.override.ui.propertypage;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.jboss.ide.eclipse.as.wtp.override.ui.Messages;
+import
org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.impl.EarModuleDependenciesPropertyPage;
+
+
+/*
+ * The only change in this file between here and upstream is
+ * the method createEARContent
+ *
+ * We'd obviously prefer to remove the extension of the superclass here
+ * but elements in the web ui demand we be a part of that tree for right now
+ * Also we'd switch to depending on IModuleDependenciesControl (local)
+ */
+
+/**
+ * Primary project property page for J2EE dependencies; content is dynamically
+ * generated based on the project facets and will be comprised by a
+ * set of IJ2EEDependenciesControl implementations.
+ *
+ */
+public class ModuleAssemblyRootPage extends PropertyPage {
+
+ public String DESCRIPTION = Messages.J2EEDependenciesPage_Description;
+
+ private IProject project;
+ private IModuleDependenciesControl[] controls = new IModuleDependenciesControl[0];
+
+ public ModuleAssemblyRootPage() {
+ super();
+ }
+
+ private Composite getFacetErrorComposite(final Composite parent) {
+ final String errorCheckingFacet = Messages.J2EEDependenciesPage_ErrorCheckingFacets;
+ setErrorMessage(errorCheckingFacet);
+ setValid(false);
+ return getErrorComposite(parent, errorCheckingFacet);
+ }
+
+ private Composite getErrorComposite(final Composite parent, final String error) {
+ final Composite composite = new Composite(parent, SWT.NONE);
+ final GridLayout layout = new GridLayout();
+ layout.marginWidth = 0;
+ layout.marginWidth = 0;
+ composite.setLayout(layout);
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+ final Label label= new Label(composite, SWT.NONE);
+ label.setText(error);
+ return composite;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+ for (int i = 0; i < controls.length; i++) {
+ if (controls[i] != null) {
+ if (!controls[i].performOk()) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ public void performDefaults() {
+ for (int i = 0; i < controls.length; i++) {
+ if (controls[i] != null) {
+ controls[i].performDefaults();
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
+ */
+ public boolean performCancel() {
+ for (int i = 0; i < controls.length; i++) {
+ if (controls[i] != null) {
+ if (!controls[i].performCancel()) {
+ return false;
+ }
+ }
+ }
+ return super.performCancel();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
+ */
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ for (int i = 0; i < controls.length; i++) {
+ if (controls[i] != null) {
+ controls[i].setVisible(visible);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
+ */
+ public void dispose() {
+ super.dispose();
+ for (int i = 0; i < controls.length; i++) {
+ if(controls[i] != null){
+ controls[i].dispose();
+ }
+ }
+ }
+
+ protected static void createDescriptionComposite(final Composite parent, final String
description) {
+ Composite descriptionComp = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ descriptionComp.setLayout(layout);
+ descriptionComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ fillDescription(descriptionComp, description);
+ }
+
+ private static void fillDescription(Composite c, String s) {
+ GridData data = new GridData(GridData.FILL_HORIZONTAL);
+ data.widthHint = 250;
+ Text text = new Text(c, SWT.READ_ONLY | SWT.WRAP);
+ text.setLayoutData(data);
+ text.setText(s);
+ }
+
+ protected Control createContents(Composite parent) {
+
+ // Need to find out what type of project we are handling
+ project = (IProject) getElement().getAdapter(IResource.class);
+ if( project != null ) {
+ try {
+ IFacetedProject facetedProject = ProjectFacetsManager.create(project);
+ IDependencyPageProvider provider = null;
+ if( facetedProject == null )
+ return getFacetErrorComposite(parent);
+
+ provider = DependencyPageExtensionManager.getManager().getProvider(facetedProject);
+ if( provider != null ) {
+ controls = provider.createPages(facetedProject, this);
+ return provider.createRootControl(controls, parent);
+ }
+ AddModuleDependenciesPropertiesPage page = new
AddModuleDependenciesPropertiesPage(project, this);
+ controls = new IModuleDependenciesControl[1];
+ controls[0] = page;
+ return page.createContents(parent);
+ } catch( CoreException ce ) {
+ }
+ }
+ return getFacetErrorComposite(parent);
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependenciesPropertyPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependenciesPropertyPage.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependenciesPropertyPage.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -41,7 +41,7 @@
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import
org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.AddModuleDependenciesPropertiesPage;
-import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.J2EEDependenciesPage;
+import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.ModuleAssemblyRootPage;
public class EarModuleDependenciesPropertyPage extends
AddModuleDependenciesPropertiesPage {
@@ -50,7 +50,7 @@
protected String oldLibDir;
protected boolean isVersion5;
public EarModuleDependenciesPropertyPage(IProject project,
- J2EEDependenciesPage page) {
+ ModuleAssemblyRootPage page) {
super(project, page);
initMemberVariables();
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependencyPageProvider.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependencyPageProvider.java 2009-07-16
16:00:38 UTC (rev 16595)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/impl/EarModuleDependencyPageProvider.java 2009-07-16
16:03:04 UTC (rev 16596)
@@ -5,7 +5,7 @@
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.IDependencyPageProvider;
import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.IModuleDependenciesControl;
-import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.J2EEDependenciesPage;
+import org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.ModuleAssemblyRootPage;
public class EarModuleDependencyPageProvider implements IDependencyPageProvider {
@@ -15,7 +15,7 @@
}
public IModuleDependenciesControl[] createPages(IFacetedProject project,
- J2EEDependenciesPage parent) {
+ ModuleAssemblyRootPage parent) {
return new IModuleDependenciesControl[] {
new EarModuleDependenciesPropertyPage(project.getProject(), parent)
};