diff options
5 files changed, 49 insertions, 28 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/Messages.java index 978f6cfa4..de8b7ee67 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/Messages.java +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/Messages.java @@ -64,6 +64,8 @@ public class Messages extends NLS { public static String JSFLibraryConfigControl_NewImplementationLibrary; + public static String JSFLibraryConfigControl_NullProject; + public static String JSFLibraryConfigControl_Remove; public static String JSFLibraryConfigControl_RemoveAll; diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryConfigControl.java b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryConfigControl.java index a386dc133..60d7725f6 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryConfigControl.java +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryConfigControl.java @@ -17,9 +17,7 @@ import java.util.List; import java.util.Vector; import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTableViewer; @@ -101,16 +99,27 @@ public class JSFLibraryConfigControl extends Composite { * Create the composite * @param parent * @param style - * @param IProject */ - public JSFLibraryConfigControl(Composite parent, int style, IProject fProject) { - super(parent, style); - - this.provider = new JSFLibraryConfigModelAdapter(fProject); - - initControls(); + public JSFLibraryConfigControl(Composite parent, int style) { + super(parent, style); + + createControls(); } - + + /** + * To initialize control valaues from a model instanciated w/ a project. + * + * @param project + */ + public void initControlsValues(IProject project) { + if (project != null) { + provider = new JSFLibraryConfigModelAdapter(project); + initializeControlValues(); + } else { + JSFUiPlugin.log(IStatus.ERROR, Messages.JSFLibraryConfigControl_NullProject); + } + } + /** * Return the working model. * @@ -201,9 +210,8 @@ public class JSFLibraryConfigControl extends Composite { } return selJSFImpl; } - - private void initControls() { - + + private void createControls() { setRedraw(true); final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 4; @@ -409,7 +417,6 @@ public class JSFLibraryConfigControl extends Composite { } }); - //initializeControlValues(); btnAdd.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { resetComponentLibSelection((StructuredSelection)tvCompLib.getSelection(), @@ -436,8 +443,7 @@ public class JSFLibraryConfigControl extends Composite { resetCompontLibSelectionAll(tvCompLib, ctvSelCompLib, false); } }); - - initializeControlValues(); + } /* @@ -722,5 +728,5 @@ public class JSFLibraryConfigControl extends Composite { public void removeListener(ILabelProviderListener listener) { } } - + } diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryPropertyPage.java b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryPropertyPage.java index c169c239e..6c905d486 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryPropertyPage.java +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/jsflibraryconfig/JSFLibraryPropertyPage.java @@ -49,7 +49,7 @@ public class JSFLibraryPropertyPage extends PropertyPage { */ public void setElement(IAdaptable element) { super.setElement(element); - project= (IProject) element.getAdapter(IResource.class); + project = (IProject) element.getAdapter(IResource.class); } /* (non-Javadoc) @@ -81,7 +81,8 @@ public class JSFLibraryPropertyPage extends PropertyPage { } private Control createForJSFProject(Composite parent) { - jsfLibCfgControl = new JSFLibraryConfigControl(parent, SWT.NULL, project); + jsfLibCfgControl = new JSFLibraryConfigControl(parent, SWT.NULL); + jsfLibCfgControl.initControlsValues(project); jsfLibCfgControl.addOkClickedListener(new IJSFImplLibraryCreationListener() { public void okClicked(JSFImplLibraryCreationEvent event) { diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/messages.properties index ef90567d7..8ea0fffb9 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/messages.properties +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/messages.properties @@ -73,6 +73,7 @@ JSFLibraryConfigControl_AddAll=\ \ >> JSFLibraryConfigControl_RemoveAll=\ \ << JSFLibraryConfigControl_NewComponentLibrary=New... JSFLibraryConfigControl_TH_Deploy=Deploy +JSFLibraryConfigControl_NullProject=No project specified. JSFLibraryConfigControl_TH_LibraryName=Library Name JSFValidationPreferencePage_ELPrefPanel_Title=Expression Language (EL) Validation diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/project/facet/JSFFacetInstallPage.java b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/project/facet/JSFFacetInstallPage.java index d03a3d240..a760ac33e 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/project/facet/JSFFacetInstallPage.java +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/project/facet/JSFFacetInstallPage.java @@ -80,7 +80,7 @@ public class JSFFacetInstallPage extends DataModelWizardPage implements IJSFFace private JSFLibraryConfigControl jsfLibCfgComp = null; private String projectName = null; private Composite composite = null; - + /** * Zero argument constructor */ @@ -107,10 +107,9 @@ public class JSFFacetInstallPage extends DataModelWizardPage implements IJSFFace lblJSFImpl.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); lblJSFImpl.setText(Messages.JSFFacetInstallPage_JSFLibraryLabel0); - ((GridLayout)composite.getLayout()).marginLeft = 0; - IProject project = getProjectHandle(); - jsfLibCfgComp = new JSFLibraryConfigControl(composite, SWT.NONE, project); - + ((GridLayout)composite.getLayout()).marginLeft = 0; + + jsfLibCfgComp = new JSFLibraryConfigControl(composite, SWT.NONE); jsfLibCfgComp.addOkClickedListener(new IJSFImplLibraryCreationListener() { public void okClicked(JSFImplLibraryCreationEvent event) { if (((JSFImplLibraryCreationEvent) event).isLibraryCreated()) { @@ -394,7 +393,7 @@ public class JSFFacetInstallPage extends DataModelWizardPage implements IJSFFace public void propertyChanged(DataModelEvent event) { if (webAppDataModel != null){ String propertyName = event.getPropertyName(); - if (propertyName.equals(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER)){ + if (propertyName.equals(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER)) { model.setStringProperty(WEBCONTENT_DIR, event.getProperty().toString()); } } @@ -406,14 +405,26 @@ public class JSFFacetInstallPage extends DataModelWizardPage implements IJSFFace webAppDataModel.removeListener(this); super.dispose(); } + protected void restoreDefaultSettings() { initializeValues(); } + /** + * (non-Javadoc) + * @see org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage#updateControls() + */ + protected void updateControls() { + projectName = model.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.FACET_PROJECT_NAME); + IProject project = getProjectHandle(); + jsfLibCfgComp.initControlsValues(project); + } + private IProject getProjectHandle() { - if (projectName != null) { + if (projectName != null && projectName.length() > 0) { return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); } return null; - } + } + } |