### Eclipse Workspace Patch 1.0 #P org.eclipse.jst.j2ee.ui Index: META-INF/MANIFEST.MF =================================================================== RCS file: /cvsroot/webtools/jeetools/plugins/org.eclipse.jst.j2ee.ui/META-INF/MANIFEST.MF,v retrieving revision 1.55 diff -u -r1.55 MANIFEST.MF --- META-INF/MANIFEST.MF 1 Oct 2009 13:30:53 -0000 1.55 +++ META-INF/MANIFEST.MF 2 Nov 2009 07:20:03 -0000 @@ -20,14 +20,15 @@ org.eclipse.jst.j2ee.internal.plugin;x-internal:=true, org.eclipse.jst.j2ee.internal.provider;x-internal:=true, org.eclipse.jst.j2ee.internal.ui;x-internal:=true, + org.eclipse.jst.j2ee.internal.ui.preferences, org.eclipse.jst.j2ee.internal.ui.util;x-internal:=true, org.eclipse.jst.j2ee.internal.war.ui.util;x-internal:=true, org.eclipse.jst.j2ee.internal.wizard;x-internal:=true, org.eclipse.jst.j2ee.ui.archive, org.eclipse.jst.j2ee.ui.archive.internal, + org.eclipse.jst.j2ee.ui.ltkbasedrefactoring, org.eclipse.jst.j2ee.ui.project.facet, - org.eclipse.jst.j2ee.ui.project.facet.appclient, - org.eclipse.jst.j2ee.internal.ui.preferences + org.eclipse.jst.j2ee.ui.project.facet.appclient Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)", org.eclipse.ui;bundle-version="[3.2.0,4.0.0)", Index: j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/J2eeDeleteRefactoringWizard.java =================================================================== RCS file: j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/J2eeDeleteRefactoringWizard.java diff -N j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/J2eeDeleteRefactoringWizard.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/J2eeDeleteRefactoringWizard.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,172 @@ +package org.eclipse.jst.j2ee.ui.ltkbasedrefactoring; + +import java.util.List; + +import org.eclipse.emf.ecore.util.FeatureMap; +import org.eclipse.emf.ecore.util.FeatureMap.Entry; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.layout.LayoutConstants; +import org.eclipse.jface.wizard.IWizardPage; +import org.eclipse.jst.javaee.core.Listener; +import org.eclipse.jst.javaee.core.UrlPatternType; +import org.eclipse.jst.javaee.ltk.core.delete.J2eeDeleteProcessorImpl; +import org.eclipse.jst.javaee.ltk.core.delete.J2eeDeleteRefactoring; +import org.eclipse.jst.javaee.web.Filter; +import org.eclipse.jst.javaee.web.FilterMapping; +import org.eclipse.jst.javaee.web.Servlet; +import org.eclipse.jst.javaee.web.ServletMapping; +import org.eclipse.ltk.ui.refactoring.RefactoringWizard; +import org.eclipse.ltk.ui.refactoring.UserInputWizardPage; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +public class J2eeDeleteRefactoringWizard extends RefactoringWizard { + + private static List obbjects; + + + public J2eeDeleteRefactoringWizard(J2eeDeleteProcessorImpl processor, List objects) { + super(new J2eeDeleteRefactoring(processor), DIALOG_BASED_USER_INTERFACE | PREVIEW_EXPAND_FIRST_NODE); + obbjects = objects; + setDefaultPageTitle(RefactoringUIMessages.J2eeDeleteRefactoringWizard_page_title); + setWindowTitle(RefactoringUIMessages.J2eeDeleteRefactoringWizard_window_title); + } + + + @Override + protected void addUserInputPages() { + J2eeDeleteProcessorImpl processor= (J2eeDeleteProcessorImpl) getRefactoring().getAdapter(J2eeDeleteProcessorImpl.class); + addPage(new DeleteJEEResourcesRefactoringConfigurationPage(processor)); + } + + + + private static class DeleteJEEResourcesRefactoringConfigurationPage extends UserInputWizardPage { + + private J2eeDeleteProcessorImpl fRefactoringProcessor; + private Button fDeleteContentsButton; + + public DeleteJEEResourcesRefactoringConfigurationPage(J2eeDeleteProcessorImpl processor) { + super("DeleteResourcesRefactoringConfigurationPage"); //$NON-NLS-1$ + fRefactoringProcessor= processor; + } + + public void createControl(Composite parent) { + initializeDialogUnits(parent); + + Point defaultSpacing= LayoutConstants.getSpacing(); + + Composite composite= new Composite(parent, SWT.NONE); + GridLayout gridLayout= new GridLayout(2, false); + gridLayout.horizontalSpacing= defaultSpacing.x * 2; + gridLayout.verticalSpacing= defaultSpacing.y; + + composite.setLayout(gridLayout); + composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + composite.setFont(parent.getFont()); + + Image image= parent.getDisplay().getSystemImage(SWT.ICON_QUESTION); + Label imageLabel = new Label(composite, SWT.NULL); + imageLabel.setBackground(image.getBackground()); + imageLabel.setImage(image); + imageLabel.setLayoutData(new GridData(SWT.CENTER, SWT.BEGINNING, false, false)); + + Label label= new Label(composite, SWT.WRAP); + label.setFont(composite.getFont()); + if (obbjects.size()==1) { + specifyLabel(obbjects.get(0), label); + } else { + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_multi, new Integer(obbjects.size()))); + } + + GridData gridData= new GridData(SWT.FILL, SWT.FILL, true, false); + gridData.widthHint= convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH); + label.setLayoutData(gridData); + + Composite supportArea= new Composite(composite, SWT.NONE); + supportArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); + gridLayout= new GridLayout(1, false); + gridLayout.horizontalSpacing= defaultSpacing.x * 2; + gridLayout.verticalSpacing= defaultSpacing.y; + + supportArea.setLayout(gridLayout); + + setControl(composite); + + } + + private void specifyLabel(Object object, Label label) { + String objectType = null; + if(object instanceof Servlet){ + objectType = "servlet"; //$NON-NLS-1$ + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_single, objectType, ((Servlet)object).getServletName())); + } else if(object instanceof Filter){ + objectType = "filter"; //$NON-NLS-1$ + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_single, objectType, ((Filter)object).getFilterName())); + } else if(object instanceof Listener){ + objectType = "listener"; //$NON-NLS-1$ + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_single, objectType, ((Listener)object).getListenerClass())); + + } else if(object instanceof FilterMapping){ + objectType = "filter-mapping"; //$NON-NLS-1$ + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_single, objectType, getFilterMappingDisplay((FilterMapping)object))); + + } else if(object instanceof ServletMapping){ + objectType = "servlet-mapping"; //$NON-NLS-1$ + label.setText(NLS.bind(RefactoringUIMessages.J2eeDeleteRefactoringWizard_label_single, objectType, getServletMappingDisplay((ServletMapping)object))); + } + } + + @Override + protected boolean performFinish() { + initializeRefactoring(); + storeSettings(); + return super.performFinish(); + } + + @Override + public IWizardPage getNextPage() { + initializeRefactoring(); + storeSettings(); + return super.getNextPage(); + } + + private void initializeRefactoring() { + fRefactoringProcessor.setDeleteContents(fDeleteContentsButton == null ? false : fDeleteContentsButton.getSelection()); + } + + private void storeSettings() { + } + + private String getFilterMappingDisplay(FilterMapping element) { + UrlPatternType urlPatterns = null; + String value = null; + if (element.getUrlPatterns().size() > 0){ + urlPatterns = element.getUrlPatterns().get(0); + value = urlPatterns.getValue(); + }else{ + FeatureMap group = element.getGroup(); + if (group.size() >0) { + Entry entry = group.get(0); + value = entry.getValue().toString(); + } + } + return value + " -> " + element.getFilterName(); //$NON-NLS-1$ + } + + private String getServletMappingDisplay(ServletMapping element) { + UrlPatternType urlPatterns = element.getUrlPatterns().get(0); + return urlPatterns.getValue() + " -> " + element.getServletName(); //$NON-NLS-1$; + } + + } + + +} Index: j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/RefactoringUIMessages.java =================================================================== RCS file: j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/RefactoringUIMessages.java diff -N j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/RefactoringUIMessages.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ j2ee_ui/org/eclipse/jst/j2ee/ui/ltkbasedrefactoring/RefactoringUIMessages.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,18 @@ +package org.eclipse.jst.j2ee.ui.ltkbasedrefactoring; + +import org.eclipse.osgi.util.NLS; + +public class RefactoringUIMessages extends NLS { + private static final String BUNDLE_NAME = "refactoring"; //$NON-NLS-1$ + public static String J2eeDeleteRefactoringWizard_label_multi; + public static String J2eeDeleteRefactoringWizard_label_single; + public static String J2eeDeleteRefactoringWizard_page_title; + public static String J2eeDeleteRefactoringWizard_window_title; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, RefactoringUIMessages.class); + } + + private RefactoringUIMessages() { + } +} Index: property_files/refactoring.properties =================================================================== RCS file: property_files/refactoring.properties diff -N property_files/refactoring.properties --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ property_files/refactoring.properties 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,4 @@ +J2eeDeleteRefactoringWizard_label_multi=Are you sure you want to delete these {0} elements? +J2eeDeleteRefactoringWizard_label_single=Are you sure you want to delete {0} ''{1}''? +J2eeDeleteRefactoringWizard_page_title=Confirm Delete +J2eeDeleteRefactoringWizard_window_title=Confirm Delete