Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 224563 Details for
Bug 395532
name validation during check-out/create ne project
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
added name validation
nameValidation.patch (text/plain), 4.56 KB, created by
Johannes Faltermeier
on 2012-12-11 09:44:52 EST
(
hide
)
Description:
added name validation
Filename:
MIME Type:
Creator:
Johannes Faltermeier
Created:
2012-12-11 09:44:52 EST
Size:
4.56 KB
patch
obsolete
>diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/common/CheckoutProjectComposite.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/common/CheckoutProjectComposite.java >index 7e76f67..b7540da 100644 >--- a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/common/CheckoutProjectComposite.java >+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/common/CheckoutProjectComposite.java >@@ -35,6 +35,21 @@ > * @author Eugen Neufeld > */ > public class CheckoutProjectComposite implements ICompositeProvider { >+ >+ /** >+ * Listener interface that will be notified if the projectName changes. >+ */ >+ public interface CheckoutProjectChangeListener { >+ /** >+ * Callback method providing the new project name. >+ * >+ * @param projectName the new project name >+ */ >+ void projectNameChanged(String projectName); >+ } >+ >+ private CheckoutProjectChangeListener listener; >+ > private String projectName; > > private ECPProperties projectProperties = ECPUtil.createProperties(); >@@ -66,6 +81,9 @@ > projectNameText.addModifyListener(new ModifyListener() { > public void modifyText(ModifyEvent e) { > projectName = projectNameText.getText(); >+ if (listener != null) { >+ listener.projectNameChanged(projectName); >+ } > } > }); > StackLayout providerStackLayout = new StackLayout(); >@@ -108,4 +126,12 @@ > public UIProvider getUiProvider() { > return uiProvider; > } >+ >+ /** >+ * @param listener >+ * the listener to set >+ */ >+ public void setListener(CheckoutProjectChangeListener listener) { >+ this.listener = listener; >+ } > } >diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CheckoutProjectWizard.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CheckoutProjectWizard.java >index 4bafebf..44f5d05 100644 >--- a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CheckoutProjectWizard.java >+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CheckoutProjectWizard.java >@@ -13,10 +13,12 @@ > > package org.eclipse.emf.ecp.wizards; > >+import org.eclipse.emf.ecp.core.ECPProjectManager; > import org.eclipse.emf.ecp.core.ECPRepository; > import org.eclipse.emf.ecp.core.util.ECPCheckoutSource; > import org.eclipse.emf.ecp.internal.ui.Activator; > import org.eclipse.emf.ecp.ui.common.CheckoutProjectComposite; >+import org.eclipse.emf.ecp.ui.common.CheckoutProjectComposite.CheckoutProjectChangeListener; > import org.eclipse.emf.ecp.ui.util.Messages; > > import org.eclipse.jface.wizard.WizardPage; >@@ -44,9 +46,26 @@ > public void createControl(Composite parent) { > Composite composite = getUIProvider().createUI(parent); > >- setPageComplete(true); >+ getUIProvider().setListener(new CheckoutProjectChangeListener() { >+ public void projectNameChanged(String projectName) { >+ validateName(projectName); >+ } >+ }); >+ >+ // validate initial project name >+ validateName(getUIProvider().getProjectName()); > setControl(composite); > } >+ >+ private void validateName(String projectName) { >+ if (ECPProjectManager.INSTANCE.getProject(projectName) != null) { >+ setPageComplete(false); >+ setErrorMessage("A project with name " + projectName + " already exists in the workspace."); >+ } else { >+ setErrorMessage(null); >+ setPageComplete(true); >+ } >+ } > }; > addPage(wp); > >diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CreateProjectWizard.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CreateProjectWizard.java >index d3c9983..6e4476f 100644 >--- a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CreateProjectWizard.java >+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/wizards/CreateProjectWizard.java >@@ -13,6 +13,7 @@ > > package org.eclipse.emf.ecp.wizards; > >+import org.eclipse.emf.ecp.core.ECPProjectManager; > import org.eclipse.emf.ecp.core.ECPProvider; > import org.eclipse.emf.ecp.core.ECPProviderRegistry; > import org.eclipse.emf.ecp.internal.ui.Activator; >@@ -64,10 +65,14 @@ > } > > public void projectNameChanged(String projectName) { >- if (projectName != null) { >- setPageComplete(true); >- } else { >+ if (projectName == null) { > setPageComplete(false); >+ } else if (ECPProjectManager.INSTANCE.getProject(projectName) != null) { >+ setPageComplete(false); >+ setErrorMessage("A project with name " + projectName + " already exists in the workspace."); >+ } else { >+ setErrorMessage(null); >+ setPageComplete(true); > } > } > });
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
eneufeld
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 395532
: 224563