You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/07/24 16:39:27 UTC
svn commit: r559064 - in
/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor:
controller/actions/ view/editors/attributetype/
Author: pamarcelot
Date: Tue Jul 24 07:39:26 2007
New Revision: 559064
URL: http://svn.apache.org/viewvc?view=rev&rev=559064
Log:
Added a confirmation before deleting anything in the SchemaView.
Modified:
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/editors/attributetype/AttributeTypeEditorOverviewPage.java
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java?view=diff&rev=559064&r1=559063&r2=559064
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java Tue Jul 24 07:39:26 2007
@@ -43,8 +43,11 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -118,53 +121,85 @@
if ( !selection.isEmpty() )
{
- Map<String, Schema> schemasMap = new HashMap<String, Schema>();
- List<SchemaObject> schemaObjectsList = new ArrayList<SchemaObject>();
-
- for ( Iterator<?> iterator = selection.iterator(); iterator.hasNext(); )
+ MessageBox messageBox = new MessageBox( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+ SWT.YES | SWT.NO | SWT.ICON_QUESTION );
+ int count = selection.size();
+ if ( count == 1 )
{
- Object selectedItem = iterator.next();
- if ( selectedItem instanceof SchemaWrapper )
+ Object firstElement = selection.getFirstElement();
+ if ( firstElement instanceof AttributeTypeWrapper )
{
- Schema schema = ( ( SchemaWrapper ) selectedItem ).getSchema();
- schemasMap.put( schema.getName().toLowerCase(), schema );
+ messageBox.setMessage( "Are you sure you want to delete this attribute type?" );
}
- else if ( selectedItem instanceof AttributeTypeWrapper )
+ else if ( firstElement instanceof ObjectClassWrapper )
{
- AttributeTypeImpl at = ( ( AttributeTypeWrapper ) selectedItem ).getAttributeType();
- schemaObjectsList.add( at );
+ messageBox.setMessage( "Are you sure you want to delete this object class?" );
}
- else if ( selectedItem instanceof ObjectClassWrapper )
+ else if ( firstElement instanceof SchemaWrapper )
{
- ObjectClassImpl oc = ( ( ObjectClassWrapper ) selectedItem ).getObjectClass();
- schemaObjectsList.add( oc );
+ messageBox.setMessage( "Are you sure you want to delete this schema?" );
+ }
+ else
+ {
+ messageBox.setMessage( "Are you sure you want to delete this item?" );
}
- }
- SchemaHandler schemaHandler = Activator.getDefault().getSchemaHandler();
- // Removing schema objects
- for ( SchemaObject schemaObject : schemaObjectsList )
+ }
+ else
{
- if ( !schemasMap.containsKey( schemaObject.getSchema().toLowerCase() ) )
+ messageBox.setMessage( "Are you sure you want to delete these " + count + " items?" );
+ }
+ if ( messageBox.open() == SWT.YES )
+ {
+
+ Map<String, Schema> schemasMap = new HashMap<String, Schema>();
+ List<SchemaObject> schemaObjectsList = new ArrayList<SchemaObject>();
+
+ for ( Iterator<?> iterator = selection.iterator(); iterator.hasNext(); )
{
- // If the schema object is not part of deleted schema, we need to delete it.
- // But, we don't delete schema objects that are part of a deleted schema, since
- // deleting the schema will also delete this schema object.
- if ( schemaObject instanceof AttributeTypeImpl )
+ Object selectedItem = iterator.next();
+ if ( selectedItem instanceof SchemaWrapper )
{
- schemaHandler.removeAttributeType( ( AttributeTypeImpl ) schemaObject );
+ Schema schema = ( ( SchemaWrapper ) selectedItem ).getSchema();
+ schemasMap.put( schema.getName().toLowerCase(), schema );
}
- else if ( schemaObject instanceof ObjectClassImpl )
+ else if ( selectedItem instanceof AttributeTypeWrapper )
{
- schemaHandler.removeObjectClass( ( ObjectClassImpl ) schemaObject );
+ AttributeTypeImpl at = ( ( AttributeTypeWrapper ) selectedItem ).getAttributeType();
+ schemaObjectsList.add( at );
+ }
+ else if ( selectedItem instanceof ObjectClassWrapper )
+ {
+ ObjectClassImpl oc = ( ( ObjectClassWrapper ) selectedItem ).getObjectClass();
+ schemaObjectsList.add( oc );
}
}
- }
- // Removing schemas
- for ( Schema schema : schemasMap.values() )
- {
- schemaHandler.removeSchema( schema );
+ SchemaHandler schemaHandler = Activator.getDefault().getSchemaHandler();
+ // Removing schema objects
+ for ( SchemaObject schemaObject : schemaObjectsList )
+ {
+ if ( !schemasMap.containsKey( schemaObject.getSchema().toLowerCase() ) )
+ {
+ // If the schema object is not part of deleted schema, we need to delete it.
+ // But, we don't delete schema objects that are part of a deleted schema, since
+ // deleting the schema will also delete this schema object.
+ if ( schemaObject instanceof AttributeTypeImpl )
+ {
+ schemaHandler.removeAttributeType( ( AttributeTypeImpl ) schemaObject );
+ }
+ else if ( schemaObject instanceof ObjectClassImpl )
+ {
+ schemaHandler.removeObjectClass( ( ObjectClassImpl ) schemaObject );
+ }
+ }
+ }
+
+ // Removing schemas
+ for ( Schema schema : schemasMap.values() )
+ {
+ schemaHandler.removeSchema( schema );
+ }
}
}
}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/editors/attributetype/AttributeTypeEditorOverviewPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/editors/attributetype/AttributeTypeEditorOverviewPage.java?view=diff&rev=559064&r1=559063&r2=559064
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/editors/attributetype/AttributeTypeEditorOverviewPage.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/editors/attributetype/AttributeTypeEditorOverviewPage.java Tue Jul 24 07:39:26 2007
@@ -1091,6 +1091,7 @@
aliasesButton.addSelectionListener( aliasesButtonListener );
oidText.addModifyListener( oidTextModifyListener );
oidText.addVerifyListener( oidTextVerifyListener );
+ schemaLink.addHyperlinkListener( schemaLinkListener );
descriptionText.addModifyListener( descriptionTextListener );
supLabel.addHyperlinkListener( supLabelListener );
supCombo.addModifyListener( supComboListener );
@@ -1105,8 +1106,6 @@
equalityCombo.addModifyListener( equalityComboListener );
orderingCombo.addModifyListener( orderingComboListener );
substringCombo.addModifyListener( substringComboListener );
- schemaLink.addHyperlinkListener( schemaLinkListener );
- supLabel.addHyperlinkListener( supLabelListener );
}
@@ -1115,9 +1114,9 @@
*/
private void removeListeners()
{
+ aliasesButton.removeSelectionListener( aliasesButtonListener );
oidText.removeModifyListener( oidTextModifyListener );
oidText.removeVerifyListener( oidTextVerifyListener );
- aliasesButton.removeSelectionListener( aliasesButtonListener );
schemaLink.removeHyperlinkListener( schemaLinkListener );
descriptionText.removeModifyListener( descriptionTextListener );
supLabel.removeHyperlinkListener( supLabelListener );