Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java181
1 files changed, 100 insertions, 81 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java
index 028ed22759..bde71d9f91 100644
--- a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java
+++ b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/ResourceGroup.java
@@ -32,7 +32,7 @@ import org.eclipse.core.runtime.jobs.Job;
/**
* @author Eike Stepper
*/
-public class ResourceGroup extends CDOElement implements CDORenameContext
+public class ResourceGroup extends CDOElement
{
private String name;
@@ -48,104 +48,123 @@ public class ResourceGroup extends CDOElement implements CDORenameContext
return (CDOResourceNode)super.getDelegate();
}
- public String getType()
- {
- return "Resource Group";
- }
-
- public String getName()
+ @Override
+ public void reset()
{
- return name;
+ super.reset();
+ name = getDelegate().trimExtension();
}
- public void setName(final String name)
+ @Override
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter)
{
- final String type = getType();
- new Job("Rename " + type.toLowerCase())
+ if (adapter == CDORenameContext.class)
{
- @Override
- protected IStatus run(IProgressMonitor monitor)
+ CDOResourceNode delegate = getDelegate();
+ CDOCheckout checkout = CDOExplorerUtil.getCheckout(delegate);
+ if (checkout != null && checkout.isOpen() && !checkout.isReadOnly())
{
- CDOResourceNode resourceNode = getDelegate();
- CDOCheckout checkout = CDOExplorerUtil.getCheckout(resourceNode);
- CDOTransaction transaction = checkout.openTransaction();
-
- CDOCommitInfo commitInfo = null;
-
- try
+ return new CDORenameContext()
{
- for (Object child : getChildren())
- {
- if (child instanceof CDOResourceNode)
- {
- CDOResourceNode childNode = (CDOResourceNode)child;
- CDOResourceNode transactionalChildNode = transaction.getObject(childNode);
- String extension = transactionalChildNode.getExtension();
- transactionalChildNode.setName(name + "." + extension);
- }
+ public String getType()
+ {
+ return "Resource Group";
}
- commitInfo = transaction.commit();
- }
- catch (Exception ex)
- {
- OM.LOG.error(ex);
- }
- finally
- {
- transaction.close();
- }
-
- if (commitInfo != null)
- {
- checkout.getView().waitForUpdate(commitInfo.getTimeStamp());
-
- CDOCheckoutManagerImpl checkoutManager = (CDOCheckoutManagerImpl)CDOExplorerUtil.getCheckoutManager();
- checkoutManager.fireElementChangedEvent(ElementsChangedEvent.StructuralImpact.PARENT, ResourceGroup.this);
- }
+ public String getName()
+ {
+ return name;
+ }
- return Status.OK_STATUS;
- }
- }.schedule();
- }
+ public void setName(final String name)
+ {
+ final String type = getType();
+ new Job("Rename " + type.toLowerCase())
+ {
+ @Override
+ protected IStatus run(IProgressMonitor monitor)
+ {
+ CDOResourceNode resourceNode = getDelegate();
+ CDOCheckout checkout = CDOExplorerUtil.getCheckout(resourceNode);
+ CDOTransaction transaction = checkout.openTransaction();
+
+ CDOCommitInfo commitInfo = null;
+
+ try
+ {
+ for (Object child : getChildren())
+ {
+ if (child instanceof CDOResourceNode)
+ {
+ CDOResourceNode childNode = (CDOResourceNode)child;
+ CDOResourceNode transactionalChildNode = transaction.getObject(childNode);
+ String extension = transactionalChildNode.getExtension();
+
+ transactionalChildNode.setName(name + "." + extension);
+ }
+ }
+
+ commitInfo = transaction.commit();
+ }
+ catch (Exception ex)
+ {
+ OM.LOG.error(ex);
+ }
+ finally
+ {
+ transaction.close();
+ }
+
+ if (commitInfo != null)
+ {
+ checkout.getView().waitForUpdate(commitInfo.getTimeStamp());
+
+ CDOCheckoutManagerImpl checkoutManager = (CDOCheckoutManagerImpl)CDOExplorerUtil.getCheckoutManager();
+ checkoutManager.fireElementChangedEvent(ElementsChangedEvent.StructuralImpact.PARENT,
+ ResourceGroup.this);
+ }
+
+ return Status.OK_STATUS;
+ }
+ }.schedule();
+ }
- public String validateName(String name)
- {
- String type = getType();
- if (StringUtil.isEmpty(name))
- {
- return type + " name is empty.";
- }
+ public String validateName(String name)
+ {
+ String type = getType();
+ if (StringUtil.isEmpty(name))
+ {
+ return type + " name is empty.";
+ }
- if (name.equals(getName()))
- {
- return null;
- }
+ if (name.equals(getName()))
+ {
+ return null;
+ }
- for (Object child : getChildren())
- {
- if (child instanceof CDOResourceNode)
- {
- CDOResourceNode childNode = (CDOResourceNode)child;
- String extension = childNode.getExtension();
+ for (Object child : getChildren())
+ {
+ if (child instanceof CDOResourceNode)
+ {
+ CDOResourceNode childNode = (CDOResourceNode)child;
+ String extension = childNode.getExtension();
+
+ String error = ExplorerUIAdapterFactory.checkUniqueName(childNode, name + "." + extension, type);
+ if (error != null)
+ {
+ return error;
+ }
+ }
+ }
- String error = ExplorerUIAdapterFactory.checkUniqueName(childNode, name + "." + extension, type);
- if (error != null)
- {
- return error;
- }
+ return null;
+ }
+ };
}
}
- return null;
- }
-
- @Override
- public void reset()
- {
- super.reset();
- name = getDelegate().trimExtension();
+ return super.getAdapter(adapter);
}
@Override

Back to the top