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/23 17:23:03 UTC

svn commit: r558772 - in /directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor: controller/ controller/actions/ view/wizards/

Author: pamarcelot
Date: Mon Jul 23 08:23:03 2007
New Revision: 558772

URL: http://svn.apache.org/viewvc?view=rev&rev=558772
Log:
Added in NewAttributeTypeWizard the ability to pre-select the selected schema.
Used this feature in the SchemaView for the NewAttributeTypeAction.

Modified:
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeGeneralWizardPage.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeWizard.java

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java?view=diff&rev=558772&r1=558771&r2=558772
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java Mon Jul 23 08:23:03 2007
@@ -368,7 +368,7 @@
     {
         connect = new ConnectAction( view );
         newSchema = new NewSchemaAction();
-        newAttributeType = new NewAttributeTypeAction();
+        newAttributeType = new NewAttributeTypeAction( viewer );
         newObjectClass = new NewObjectClassAction( viewer );
         openElement = new OpenElementAction( viewer );
         deleteSchemaElement = new DeleteSchemaElementAction( viewer );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java?view=diff&rev=558772&r1=558771&r2=558772
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java Mon Jul 23 08:23:03 2007
@@ -22,11 +22,18 @@
 
 import org.apache.directory.studio.apacheds.schemaeditor.Activator;
 import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;
 import org.apache.directory.studio.apacheds.schemaeditor.view.wizards.NewAttributeTypeWizard;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.AttributeTypeWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.Folder;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.ObjectClassWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.TreeNode;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
@@ -42,10 +49,14 @@
  */
 public class NewAttributeTypeAction extends Action implements IWorkbenchWindowActionDelegate
 {
+    /** The associated viewer */
+    private TreeViewer viewer;
+
+
     /**
      * Creates a new instance of NewAttributeTypeAction.
      */
-    public NewAttributeTypeAction()
+    public NewAttributeTypeAction( TreeViewer viewer )
     {
         super( "New Attribute Type" );
         setToolTipText( getText() );
@@ -53,6 +64,7 @@
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_ATTRIBUTE_TYPE_NEW ) );
         setEnabled( false );
+        this.viewer = viewer;
     }
 
 
@@ -61,9 +73,53 @@
      */
     public void run()
     {
+        // Getting the selection
+        Schema selectedSchema = null;
+        StructuredSelection selection = ( StructuredSelection ) viewer.getSelection();
+        if ( ( !selection.isEmpty() ) && ( selection.size() == 1 ) )
+        {
+            Object firstElement = selection.getFirstElement();
+            if ( firstElement instanceof SchemaWrapper )
+            {
+                selectedSchema = ( ( SchemaWrapper ) firstElement ).getSchema();
+            }
+            else if ( firstElement instanceof Folder )
+            {
+                selectedSchema = ( ( SchemaWrapper ) ( ( Folder ) firstElement ).getParent() ).getSchema();
+            }
+            else if ( firstElement instanceof AttributeTypeWrapper )
+            {
+                TreeNode parent = ( ( AttributeTypeWrapper ) firstElement ).getParent();
+
+                if ( parent instanceof Folder )
+                {
+                    selectedSchema = ( ( SchemaWrapper ) ( ( Folder ) parent ).getParent() ).getSchema();
+
+                }
+                else if ( parent instanceof SchemaWrapper )
+                {
+                    selectedSchema = ( ( SchemaWrapper ) parent ).getSchema();
+                }
+            }
+            else if ( firstElement instanceof ObjectClassWrapper )
+            {
+                TreeNode parent = ( ( ObjectClassWrapper ) firstElement ).getParent();
+
+                if ( parent instanceof Folder )
+                {
+                    selectedSchema = ( ( SchemaWrapper ) ( ( Folder ) parent ).getParent() ).getSchema();
+                }
+                else if ( parent instanceof SchemaWrapper )
+                {
+                    selectedSchema = ( ( SchemaWrapper ) parent ).getSchema();
+                }
+            }
+        }
+
         // Instantiates and initializes the wizard
         NewAttributeTypeWizard wizard = new NewAttributeTypeWizard();
         wizard.init( PlatformUI.getWorkbench(), StructuredSelection.EMPTY );
+        wizard.setSelectedSchema( selectedSchema );
         // Instantiates the wizard container with the wizard and opens it
         WizardDialog dialog = new WizardDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), wizard );
         dialog.create();

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java?view=diff&rev=558772&r1=558771&r2=558772
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java Mon Jul 23 08:23:03 2007
@@ -20,8 +20,6 @@
 package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
 
 
-import java.util.Iterator;
-
 import org.apache.directory.studio.apacheds.schemaeditor.Activator;
 import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
 import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeGeneralWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeGeneralWizardPage.java?view=diff&rev=558772&r1=558771&r2=558772
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeGeneralWizardPage.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeGeneralWizardPage.java Mon Jul 23 08:23:03 2007
@@ -68,6 +68,9 @@
     /** The aliases */
     private String[] aliases;
 
+    /** The selected schema */
+    private Schema selectedSchema;
+
     // UI fields
     private ComboViewer schemaComboViewer;
     private Text oidText;
@@ -222,6 +225,11 @@
     private void initFields()
     {
         schemaComboViewer.setInput( schemaHandler.getSchemas() );
+
+        if ( selectedSchema != null )
+        {
+            schemaComboViewer.setSelection( new StructuredSelection( selectedSchema ) );
+        }
     }
 
 
@@ -359,5 +367,17 @@
     public String getDescriptionValue()
     {
         return descriptionText.getText();
+    }
+
+
+    /**
+     * Sets the selected schema.
+     *
+     * @param schema
+     *      the selected schema
+     */
+    public void setSelectedSchema( Schema schema )
+    {
+        selectedSchema = schema;
     }
 }

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeWizard.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeWizard.java?view=diff&rev=558772&r1=558771&r2=558772
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeWizard.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/NewAttributeTypeWizard.java Mon Jul 23 08:23:03 2007
@@ -22,6 +22,7 @@
 
 import org.apache.directory.studio.apacheds.schemaeditor.Activator;
 import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.ui.INewWizard;
@@ -36,6 +37,9 @@
  */
 public class NewAttributeTypeWizard extends Wizard implements INewWizard
 {
+    /** The selected schema */
+    private Schema selectedSchema;
+
     // The pages of the wizards
     private NewAttributeTypeGeneralWizardPage generalPage;
     private NewAttributeTypeContentWizardPage contentPage;
@@ -49,6 +53,7 @@
     {
         // Creating pages
         generalPage = new NewAttributeTypeGeneralWizardPage();
+        generalPage.setSelectedSchema( selectedSchema );
         contentPage = new NewAttributeTypeContentWizardPage();
         matchingRulesPage = new NewAttributeTypeMatchingRulesWizardPage();
 
@@ -79,12 +84,12 @@
         newAT.setEqualityName( matchingRulesPage.getEqualityMatchingRuleValue() );
         newAT.setOrderingName( matchingRulesPage.getOrderingMatchingRuleValue() );
         newAT.setSubstrName( matchingRulesPage.getSubstringMatchingRuleValue() );
-        
+
         Activator.getDefault().getSchemaHandler().addAttributeType( newAT );
-        
+
         return true;
     }
-    
+
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
@@ -92,5 +97,17 @@
     public void init( IWorkbench workbench, IStructuredSelection selection )
     {
         // Nothing to do.
+    }
+
+
+    /**
+     * Sets the selected schema.
+     *
+     * @param schema
+     *      the selected schema
+     */
+    public void setSelectedSchema( Schema schema )
+    {
+        selectedSchema = schema;
     }
 }