[314191] - [NLS] Several issues found in 'New Reference Wizard' in 'Deployment Assembly' preference page
diff --git a/plugins/org.eclipse.jst.common.ui/plugin.properties b/plugins/org.eclipse.jst.common.ui/plugin.properties
index f1bec89..4b5c8ff 100644
--- a/plugins/org.eclipse.jst.common.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.common.ui/plugin.properties
@@ -10,4 +10,8 @@
###############################################################################
provider=Eclipse.org
-Bundle-Name.0 = Common JST UI Plug-in
\ No newline at end of file
+Bundle-Name.0 = Common JST UI Plug-in
+Archive=Archive
+External_Archive=External Archive
+Variable=Variable
+Classpath_Container=Classpath Container
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.ui/plugin.xml b/plugins/org.eclipse.jst.common.ui/plugin.xml
index f8f45f1..db69515 100644
--- a/plugins/org.eclipse.jst.common.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.common.ui/plugin.xml
@@ -8,25 +8,25 @@
class="org.eclipse.jst.common.ui.internal.assembly.wizard.JarReferenceWizardFragment"
icon="icons/jar_obj.gif"
id="org.eclipse.jst.common.ui.jarReference"
- name="Jar">
+ name="%Archive">
</referenceFragment>
<referenceFragment
class="org.eclipse.jst.common.ui.internal.assembly.wizard.ExternalJarReferenceWizardFragment"
icon="icons/jar_obj.gif"
id="org.eclipse.jst.common.ui.externalJarReference"
- name="External Jar">
+ name="%External_Archive">
</referenceFragment>
<referenceFragment
class="org.eclipse.jst.common.ui.internal.assembly.wizard.VariableReferenceWizardFragment"
icon="icons/jar_obj.gif"
id="org.eclipse.jst.common.ui.variableReference"
- name="Variable">
+ name="%Variable">
</referenceFragment>
<referenceFragment
class="org.eclipse.jst.common.ui.internal.assembly.wizard.ClasspathContainerWizardFragment"
icon="icons/util-wiz-icon.gif"
id="org.eclipse.jst.common.ui.classpathContainer"
- name="Classpath Container">
+ name="%Classpath_Container">
</referenceFragment>
</extension>
<extension point="org.eclipse.wst.common.modulecore.ui.virtualComponentLabelProvider">
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java
new file mode 100644
index 0000000..bb14fb7
--- /dev/null
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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 API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.common.ui.internal;
+
+
+/**
+ * @author: Aidyl Kareh
+ */
+public interface IJstCommonUIConstants {
+ public static final String DIALOGSTORE_LASTEXTARCHIVE= JstCommonUIPlugin.PLUGIN_ID + ".lastextarchive"; //$NON-NLS-1$
+}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java
index 89218cb..4918de3 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java
@@ -14,10 +14,11 @@
public class Messages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.jst.common.ui.internal"; //$NON-NLS-1$
- public static String JarTitle;
- public static String JarDescription;
- public static String ExternalJarTitle;
- public static String ExternalJarDescription;
+ public static String ArchiveTitle;
+ public static String ArchiveDescription;
+ public static String ExternalArchiveTitle;
+ public static String ExternalArchiveDescription;
+ public static String ArchiveDialogNewTitle;
public static String Browse;
public static String VariableReferenceTitle;
public static String VariableReferenceDescription;
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java
index 0bbc5c1..e434d5b 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java
@@ -16,9 +16,13 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
+import org.eclipse.jst.common.ui.internal.IJstCommonUIConstants;
+import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
import org.eclipse.jst.common.ui.internal.Messages;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
@@ -27,18 +31,23 @@
import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-public class ExternalJarReferenceWizardFragment extends JarReferenceWizardFragment {
+public class ExternalJarReferenceWizardFragment extends JarReferenceWizardFragment {
public Composite createComposite(Composite parent, IWizardHandle handle) {
Composite c = super.createComposite(parent, handle);
- handle.setTitle(Messages.ExternalJarTitle);
- handle.setDescription(Messages.ExternalJarDescription);
+ handle.setTitle(Messages.ExternalArchiveTitle);
+ handle.setDescription(Messages.ExternalArchiveDescription);
return c;
}
protected void buttonPressed() {
- selected = BuildPathDialogAccess
- .chooseExternalJAREntries(browse.getShell());
+ selected = chooseExternalArchiveEntries(browse.getShell());
viewer.refresh();
+ if(selected != null && selected.length > 0) {
+ isComplete = true;
+ } else {
+ isComplete = false;
+ }
+ handle.update();
}
public void performFinish(IProgressMonitor monitor) throws CoreException {
@@ -65,4 +74,34 @@
getTaskModel().putObject(IReferenceWizardConstants.FINAL_REFERENCE, finalRefs);
}
}
+
+ private static IPath[] chooseExternalArchiveEntries(Shell shell) {
+ String lastUsedPath= JstCommonUIPlugin.getDefault().getDialogSettings().get(IJstCommonUIConstants.DIALOGSTORE_LASTEXTARCHIVE);
+ if (lastUsedPath == null) {
+ lastUsedPath= ""; //$NON-NLS-1$
+ }
+
+ FileDialog dialog= new FileDialog(shell, SWT.MULTI);
+ dialog.setText(Messages.ArchiveDialogNewTitle);
+ String [] extensions = new String[] {"*.jar;*.war;*.rar;*.zip", "*.*"}; //$NON-NLS-1$//$NON-NLS-2$
+ dialog.setFilterExtensions(extensions);
+ dialog.setFilterPath(lastUsedPath);
+
+ String res= dialog.open();
+ if (res == null) {
+ return null;
+ }
+ String[] fileNames= dialog.getFileNames();
+ int nChosen= fileNames.length;
+
+ IPath filterPath= Path.fromOSString(dialog.getFilterPath());
+ IPath[] elems= new IPath[nChosen];
+ for (int i= 0; i < nChosen; i++) {
+ elems[i]= filterPath.append(fileNames[i]).makeAbsolute();
+ }
+
+ JstCommonUIPlugin.getDefault().getDialogSettings().put(IJstCommonUIConstants.DIALOGSTORE_LASTEXTARCHIVE, dialog.getFilterPath());
+
+ return elems;
+ }
}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java
index 4265f8d..d9243e3 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java
@@ -50,14 +50,20 @@
protected IPath[] paths;
protected IWizardHandle handle;
protected IPath[] selected = new IPath[]{};
+ boolean isComplete = false;
+
+ public boolean isComplete() {
+ return isComplete;
+ }
+
public boolean hasComposite() {
return true;
}
public Composite createComposite(Composite parent, IWizardHandle handle) {
this.handle = handle;
- handle.setTitle(Messages.JarTitle);
- handle.setDescription(Messages.JarDescription);
+ handle.setTitle(Messages.ArchiveTitle);
+ handle.setDescription(Messages.ArchiveDescription);
Composite c = new Composite(parent, SWT.NONE);
c.setLayout(new FormLayout());
@@ -96,8 +102,14 @@
IProject project = (IProject)getTaskModel().getObject(IReferenceWizardConstants.PROJECT);
selected = BuildPathDialogAccess.chooseJAREntries(
browse.getShell(),
- project.getLocation(), new IPath[0]);
+ project.getFullPath(), new IPath[0]);
viewer.refresh();
+ if(selected != null && selected.length > 0) {
+ isComplete = true;
+ } else {
+ isComplete = false;
+ }
+ handle.update();
}
public void performFinish(IProgressMonitor monitor) throws CoreException {
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java
index 0719ecc..05003b1 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java
@@ -80,6 +80,8 @@
}
});
FormData fd = new FormData();
+ fd.width = 390;
+ fd.height = 185;
fd.left = new FormAttachment(0, 5);
fd.top = new FormAttachment(0, 5);
fd.right = new FormAttachment(100, -5);
@@ -103,7 +105,7 @@
} else if( o instanceof ExtendedVariable) {
p = ((ExtendedVariable)o).element.getPath().append(((ExtendedVariable)o).pathAfterElement);
}
- if( p.toFile().isDirectory()) {
+ if(p == null || p.isEmpty() || p.toFile().isDirectory()) {
isComplete = false;
}
}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties
index 7f469b6..34c541e 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties
@@ -1,7 +1,8 @@
-JarTitle=Add a Jar Reference
-JarDescription=Here you can reference a workspace Jar\nThis is not a suggested use-case, but is here for backwards compatability.
-ExternalJarTitle=Add an External Jar Reference
-ExternalJarDescription=Here you can reference a filesystem Jar\nThis is not a suggested use-case, but is here for backwards compatability.
+ArchiveTitle=Add an Archive Reference
+ArchiveDescription=Here you can reference a workspace archive\nThis is not a suggested use-case, but is here for backwards compatability.
+ArchiveDialogNewTitle=Archive Selection
+ExternalArchiveTitle=Add an External Archive Reference
+ExternalArchiveDescription=Here you can reference a filesystem archive\nThis is not a suggested use-case, but is here for backwards compatability.
Browse=Br&owse...
VariableReferenceTitle=Add a Variable Reference
VariableReferenceDescription=Here you can reference a variable which maps to a single jar.\nThis is not a suggested use-case, but is here for backwards compatability.
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties
index 7dae034..a8fb0c7 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties
@@ -10,4 +10,6 @@
###############################################################################
provider=Eclipse.org
Bundle-Name.0 = Modulecore UI Plug-in
-Module_assembly.name = Deployment Assembly
\ No newline at end of file
+Module_assembly.name = Deployment Assembly
+Project=Project
+Folder_Mapping=Folder Mapping
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml
index 8553ef8..0fbfc6d 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml
@@ -30,13 +30,13 @@
class="org.eclipse.wst.common.componentcore.ui.internal.propertypage.ProjectReferenceWizardFragment"
icon="icons/prj_obj.gif"
id="org.eclipse.wst.common.componentcore.ui.newProjectReference"
- name="Project">
+ name="%Project">
</referenceFragment>
<referenceFragment
class="org.eclipse.wst.common.componentcore.ui.internal.propertypage.FolderMappingWizardFragment"
icon="icons/folder.gif"
id="org.eclipse.wst.common.componentcore.ui.resourceMappingReference"
- name="Folder Mapping">
+ name="%Folder_Mapping">
</referenceFragment>
</extension>
</plugin>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java
index 98b82da..af3ab88 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java
@@ -27,37 +27,51 @@
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.wst.common.componentcore.ui.Messages;
import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
+import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
public class FolderMappingWizardFragment extends WizardFragment {
private IProject project;
private TreeViewer viewer;
private IContainer selected = null;
+ protected IWizardHandle handle;
+ boolean isComplete = false;
+
+ public boolean isComplete() {
+ return isComplete;
+ }
+
public boolean hasComposite() {
return true;
}
public Composite createComposite(Composite parent, IWizardHandle handle) {
+ this.handle = handle;
handle.setTitle(Messages.AddFolder);
handle.setDescription(Messages.AddFolderMappings);
project = (IProject)getTaskModel().getObject(IReferenceWizardConstants.PROJECT);
Composite c = new Composite(parent, SWT.NONE);
- c.setLayout(new FillLayout());
+ GridLayout layout = new GridLayout();
+ c.setLayout(layout);
this.viewer = new TreeViewer(c, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
viewer.setContentProvider(getContentProvider());
viewer.setLabelProvider(getLabelProvider());
viewer.addFilter(getFilter());
viewer.setInput(project);
viewer.addSelectionChangedListener(getListener());
+ GridData data = new GridData(GridData.FILL_BOTH);
+ data.widthHint = 390;
+ data.heightHint = 185;
+ viewer.getTree().setLayoutData(data);
return c;
}
@@ -66,8 +80,13 @@
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
Object first = sel.getFirstElement();
- if( first instanceof IContainer)
+ if( first instanceof IContainer) {
selected = (IContainer)first;
+ if(!isComplete) {
+ isComplete = true;
+ handle.update();
+ }
+ }
}
};
}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
index 7c54d9f..725cdd6 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
@@ -32,7 +32,8 @@
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.IDE;
@@ -71,7 +72,7 @@
handle.setDescription(Messages.ProjectReferenceDescription);
Composite c = new Composite(parent, SWT.NONE);
- c.setLayout(new FillLayout());
+ c.setLayout(new GridLayout());
viewer = new TreeViewer(c, SWT.MULTI | SWT.BORDER);
viewer.setContentProvider(getContentProvider());
viewer.setLabelProvider(getLabelProvider());
@@ -86,6 +87,10 @@
}
});
viewer.setInput(ResourcesPlugin.getWorkspace());
+ GridData data = new GridData(GridData.FILL_BOTH);
+ data.widthHint = 390;
+ data.heightHint = 185;
+ viewer.getTree().setLayoutData(data);
return c;
}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
index 542444c..a4a120b 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
@@ -79,8 +79,8 @@
import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
import org.eclipse.wst.common.componentcore.ui.internal.propertypage.ComponentDependencyContentProvider;
import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.NewReferenceWizard;
import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager.ReferenceExtension;
+import org.eclipse.wst.common.componentcore.ui.internal.propertypage.NewReferenceWizard;
import org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier.DeploymentAssemblyVerifierHelper;
import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.TaskWizard;
import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
@@ -546,10 +546,12 @@
protected void handleAddNewReference(TaskWizard wizard) {
Object c1 = wizard.getTaskModel().getObject(IReferenceWizardConstants.FINAL_REFERENCE);
- IVirtualReference[] referenceArray = c1 instanceof IVirtualReference ?
- new IVirtualReference[] { (IVirtualReference)c1 } :
- (IVirtualReference[])c1;
- currentReferences.addAll(Arrays.asList(referenceArray));
+ if(c1 != null) {
+ IVirtualReference[] referenceArray = c1 instanceof IVirtualReference ?
+ new IVirtualReference[] { (IVirtualReference)c1 } :
+ (IVirtualReference[])c1;
+ currentReferences.addAll(Arrays.asList(referenceArray));
+ }
}
/**