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 2011/12/13 17:29:44 UTC
svn commit: r1213770 [2/2] - in
/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor:
controller/ controller/actions/ model/schemachecker/ view/dialogs/
view/editors/ view/editors/attributetype/ view/edito...
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java?rev=1213770&r1=1213769&r2=1213770&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java Tue Dec 13 16:29:43 2011
@@ -22,13 +22,14 @@ package org.apache.directory.studio.sche
import org.apache.directory.shared.ldap.model.schema.AttributeType;
+import org.apache.directory.shared.ldap.model.schema.LdapSyntax;
+import org.apache.directory.shared.ldap.model.schema.MatchingRule;
import org.apache.directory.shared.ldap.model.schema.ObjectClass;
import org.apache.directory.studio.schemaeditor.Activator;
import org.apache.directory.studio.schemaeditor.PluginConstants;
import org.apache.directory.studio.schemaeditor.PluginUtils;
-import org.apache.directory.studio.schemaeditor.controller.SchemaAdapter;
-import org.apache.directory.studio.schemaeditor.controller.SchemaHandler;
-import org.apache.directory.studio.schemaeditor.controller.SchemaListener;
+import org.apache.directory.studio.schemaeditor.controller.SchemaHandlerAdapter;
+import org.apache.directory.studio.schemaeditor.controller.SchemaHandlerListener;
import org.apache.directory.studio.schemaeditor.model.Schema;
import org.apache.directory.studio.schemaeditor.view.ViewUtils;
import org.apache.directory.studio.schemaeditor.view.editors.attributetype.AttributeTypeEditor;
@@ -64,70 +65,108 @@ public class SchemaEditorOverviewPage ex
/** The page ID */
public static final String ID = SchemaEditor.ID + "overviewPage"; //$NON-NLS-1$
- /** The SchemaHandler */
- private SchemaHandler schemaHandler;
-
/** The associated schema */
- private Schema schema;
+ private Schema originalSchema;
- private SchemaListener schemaListener = new SchemaAdapter()
+ private SchemaHandlerListener schemaHandlerListener = new SchemaHandlerAdapter()
{
- /**
- * {@inheritDoc}
- */
public void attributeTypeAdded( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
}
- /**
- * {@inheritDoc}
- */
public void attributeTypeModified( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
}
- /**
- * {@inheritDoc}
- */
public void attributeTypeRemoved( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
+ }
+
+
+ public void matchingRuleAdded( MatchingRule mr )
+ {
+ refreshUI();
+ }
+
+
+ public void matchingRuleModified( MatchingRule mr )
+ {
+ refreshUI();
+ }
+
+
+ public void matchingRuleRemoved( MatchingRule mr )
+ {
+ refreshUI();
}
- /**
- * {@inheritDoc}
- */
public void objectClassAdded( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
}
- /**
- * {@inheritDoc}
- */
public void objectClassModified( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
}
- /**
- * {@inheritDoc}
- */
public void objectClassRemoved( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
+ }
+
+
+ public void schemaAdded( Schema schema )
+ {
+ refreshUI();
+ }
+
+
+ public void schemaRemoved( Schema schema )
+ {
+ if ( !schema.equals( originalSchema ) )
+ {
+ refreshUI();
+ }
+ }
+
+
+ public void schemaRenamed( Schema schema )
+ {
+ refreshUI();
+ }
+
+
+ public void syntaxAdded( LdapSyntax syntax )
+ {
+ refreshUI();
+ }
+
+
+ public void syntaxModified( LdapSyntax syntax )
+ {
+ refreshUI();
+ }
+
+
+ public void syntaxRemoved( LdapSyntax syntax )
+ {
+ refreshUI();
}
};
// UI Fields
+ private Section attributeTypesSection;
private TableViewer attributeTypesTableViewer;
+ private Section objectClassesSection;
private TableViewer objectClassesTableViewer;
// Listeners
@@ -153,8 +192,9 @@ public class SchemaEditorOverviewPage ex
catch ( PartInitException exception )
{
PluginUtils.logError( Messages.getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ), exception ); //$NON-NLS-1$
- ViewUtils.displayErrorMessageDialog( Messages.getString( "SchemaEditorOverviewPage.Error" ), Messages //$NON-NLS-1$
- .getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ) ); //$NON-NLS-1$
+ ViewUtils.displayErrorMessageDialog(
+ Messages.getString( "SchemaEditorOverviewPage.Error" ), Messages //$NON-NLS-1$
+ .getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ) ); //$NON-NLS-1$
}
}
}
@@ -182,14 +222,16 @@ public class SchemaEditorOverviewPage ex
catch ( PartInitException exception )
{
PluginUtils.logError( Messages.getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ), exception ); //$NON-NLS-1$
- ViewUtils.displayErrorMessageDialog( Messages.getString( "SchemaEditorOverviewPage.Error" ), Messages //$NON-NLS-1$
- .getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ) ); //$NON-NLS-1$
+ ViewUtils.displayErrorMessageDialog(
+ Messages.getString( "SchemaEditorOverviewPage.Error" ), Messages //$NON-NLS-1$
+ .getString( "SchemaEditorOverviewPage.ErrorOpenEditor" ) ); //$NON-NLS-1$
}
}
}
};
+
/**
* Creates a new instance of SchemaFormEditorOverviewPage.
*
@@ -199,7 +241,7 @@ public class SchemaEditorOverviewPage ex
public SchemaEditorOverviewPage( FormEditor editor )
{
super( editor, ID, Messages.getString( "SchemaEditorOverviewPage.Overview" ) ); //$NON-NLS-1$
- schemaHandler = Activator.getDefault().getSchemaHandler();
+ Activator.getDefault().getSchemaHandler().addListener( schemaHandlerListener );
}
@@ -209,7 +251,7 @@ public class SchemaEditorOverviewPage ex
protected void createFormContent( IManagedForm managedForm )
{
// Getting the associated schema
- schema = ( ( SchemaEditor ) getEditor() ).getSchema();
+ originalSchema = ( ( SchemaEditor ) getEditor() ).getSchema();
// Creating the base UI
ScrolledForm form = managedForm.getForm();
@@ -243,11 +285,9 @@ public class SchemaEditorOverviewPage ex
private void createAttributeTypesSection( Composite parent, FormToolkit toolkit )
{
// Attribute Types Section
- Section attributeTypesSection = toolkit.createSection( parent, Section.DESCRIPTION | Section.EXPANDED
+ attributeTypesSection = toolkit.createSection( parent, Section.DESCRIPTION | Section.EXPANDED
| Section.TITLE_BAR );
- attributeTypesSection.setDescription( NLS.bind(
- Messages.getString( "SchemaEditorOverviewPage.SchemaAttribute" ), new String[] //$NON-NLS-1$
- { schema.getSchemaName() } ) );
+ attributeTypesSection.setDescription( "" ); //$NON-NLS-1$
attributeTypesSection.setText( Messages.getString( "SchemaEditorOverviewPage.AttributeTypes" ) ); //$NON-NLS-1$
// Creating the layout of the section
@@ -276,11 +316,9 @@ public class SchemaEditorOverviewPage ex
private void createObjectClassesSection( Composite parent, FormToolkit toolkit )
{
// Attribute Types Section
- Section objectClassesSection = toolkit.createSection( parent, Section.DESCRIPTION | Section.EXPANDED
+ objectClassesSection = toolkit.createSection( parent, Section.DESCRIPTION | Section.EXPANDED
| Section.TITLE_BAR );
- objectClassesSection.setDescription( NLS.bind( Messages
- .getString( "SchemaEditorOverviewPage.SchemaObjectClasses" ), new String[] //$NON-NLS-1$
- { schema.getSchemaName() } ) );
+ objectClassesSection.setDescription( "" );//$NON-NLS-1$
objectClassesSection.setText( Messages.getString( "SchemaEditorOverviewPage.ObjectClasses" ) ); //$NON-NLS-1$
// Creating the layout of the section
@@ -303,8 +341,14 @@ public class SchemaEditorOverviewPage ex
*/
private void fillInUiFields()
{
- attributeTypesTableViewer.setInput( schema.getAttributeTypes() );
- objectClassesTableViewer.setInput( schema.getObjectClasses() );
+ attributeTypesSection.setDescription( NLS.bind(
+ Messages.getString( "SchemaEditorOverviewPage.SchemaAttribute" ), new String[] //$NON-NLS-1$
+ { originalSchema.getSchemaName() } ) );
+ objectClassesSection.setDescription( NLS.bind( Messages
+ .getString( "SchemaEditorOverviewPage.SchemaObjectClasses" ), new String[] //$NON-NLS-1$
+ { originalSchema.getSchemaName() } ) );
+ attributeTypesTableViewer.setInput( originalSchema.getAttributeTypes() );
+ objectClassesTableViewer.setInput( originalSchema.getObjectClasses() );
}
@@ -313,7 +357,6 @@ public class SchemaEditorOverviewPage ex
*/
private void addListeners()
{
- schemaHandler.addListener( schema, schemaListener );
attributeTypesTableViewer.addDoubleClickListener( attributeTypesTableViewerListener );
objectClassesTableViewer.addDoubleClickListener( objectClassesTableViewerListener );
}
@@ -324,7 +367,6 @@ public class SchemaEditorOverviewPage ex
*/
private void removeListeners()
{
- schemaHandler.removeListener( schema, schemaListener );
attributeTypesTableViewer.removeDoubleClickListener( attributeTypesTableViewerListener );
objectClassesTableViewer.removeDoubleClickListener( objectClassesTableViewerListener );
}
@@ -337,6 +379,19 @@ public class SchemaEditorOverviewPage ex
{
removeListeners();
+ Activator.getDefault().getSchemaHandler().removeListener( schemaHandlerListener );
+
super.dispose();
}
+
+
+ /**
+ * Refreshes the UI.
+ */
+ public void refreshUI()
+ {
+ removeListeners();
+ fillInUiFields();
+ addListeners();
+ }
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java?rev=1213770&r1=1213769&r2=1213770&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java Tue Dec 13 16:29:43 2011
@@ -27,7 +27,8 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.model.schema.ObjectClass;
import org.apache.directory.studio.schemaeditor.Activator;
import org.apache.directory.studio.schemaeditor.PluginConstants;
-import org.apache.directory.studio.schemaeditor.controller.SchemaListener;
+import org.apache.directory.studio.schemaeditor.controller.SchemaHandlerAdapter;
+import org.apache.directory.studio.schemaeditor.controller.SchemaHandlerListener;
import org.apache.directory.studio.schemaeditor.model.Schema;
import org.apache.directory.studio.schemaeditor.model.io.OpenLdapSchemaFileExporter;
import org.apache.directory.studio.schemaeditor.view.widget.SchemaSourceViewer;
@@ -56,6 +57,9 @@ public class SchemaEditorSourceCodePage
/** The page ID */
public static final String ID = SchemaEditor.ID + "sourceCode"; //$NON-NLS-1$
+ /** The flag to indicate if the page has been initialized */
+ private boolean initialized = false;
+
/** The associated schema */
private Schema schema;
@@ -63,14 +67,14 @@ public class SchemaEditorSourceCodePage
private SchemaSourceViewer schemaSourceViewer;
// Listerner
- private SchemaListener schemaListener = new SchemaListener()
+ private SchemaHandlerListener schemaHandlerListener = new SchemaHandlerAdapter()
{
/**
* {@inheritDoc}
*/
public void attributeTypeAdded( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
}
@@ -79,7 +83,7 @@ public class SchemaEditorSourceCodePage
*/
public void attributeTypeModified( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
}
@@ -88,7 +92,7 @@ public class SchemaEditorSourceCodePage
*/
public void attributeTypeRemoved( AttributeType at )
{
- fillInUiFields();
+ refreshUI();
}
@@ -97,7 +101,7 @@ public class SchemaEditorSourceCodePage
*/
public void matchingRuleAdded( MatchingRule mr )
{
- fillInUiFields();
+ refreshUI();
}
@@ -106,7 +110,7 @@ public class SchemaEditorSourceCodePage
*/
public void matchingRuleModified( MatchingRule mr )
{
- fillInUiFields();
+ refreshUI();
}
@@ -115,7 +119,7 @@ public class SchemaEditorSourceCodePage
*/
public void matchingRuleRemoved( MatchingRule mr )
{
- fillInUiFields();
+ refreshUI();
}
@@ -124,7 +128,7 @@ public class SchemaEditorSourceCodePage
*/
public void objectClassAdded( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
}
@@ -133,7 +137,7 @@ public class SchemaEditorSourceCodePage
*/
public void objectClassModified( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
}
@@ -142,7 +146,7 @@ public class SchemaEditorSourceCodePage
*/
public void objectClassRemoved( ObjectClass oc )
{
- fillInUiFields();
+ refreshUI();
}
@@ -151,7 +155,7 @@ public class SchemaEditorSourceCodePage
*/
public void syntaxAdded( LdapSyntax syntax )
{
- fillInUiFields();
+ refreshUI();
}
@@ -160,7 +164,7 @@ public class SchemaEditorSourceCodePage
*/
public void syntaxModified( LdapSyntax syntax )
{
- fillInUiFields();
+ refreshUI();
}
@@ -169,7 +173,7 @@ public class SchemaEditorSourceCodePage
*/
public void syntaxRemoved( LdapSyntax syntax )
{
- fillInUiFields();
+ refreshUI();
}
};
@@ -183,6 +187,7 @@ public class SchemaEditorSourceCodePage
public SchemaEditorSourceCodePage( FormEditor editor )
{
super( editor, ID, Messages.getString( "SchemaEditorSourceCodePage.SourceCode" ) ); //$NON-NLS-1$
+ Activator.getDefault().getSchemaHandler().addListener( schemaHandlerListener );
}
@@ -217,10 +222,10 @@ public class SchemaEditorSourceCodePage
// Initializes the UI from the schema
fillInUiFields();
- addListeners();
-
// Help Context for Dynamic Help
PlatformUI.getWorkbench().getHelpSystem().setHelp( form, PluginConstants.PLUGIN_ID + "." + "schema_editor" ); //$NON-NLS-1$ //$NON-NLS-2$
+
+ initialized = true;
}
@@ -234,30 +239,24 @@ public class SchemaEditorSourceCodePage
/**
- * Adds the listeners.
+ * {@inheritDoc}
*/
- private void addListeners()
+ public void dispose()
{
- Activator.getDefault().getSchemaHandler().addListener( schema, schemaListener );
- }
+ Activator.getDefault().getSchemaHandler().removeListener( schemaHandlerListener );
-
- /**
- * Removes the listeners.
- */
- private void removeListeners()
- {
- Activator.getDefault().getSchemaHandler().removeListener( schema, schemaListener );
+ super.dispose();
}
/**
- * {@inheritDoc}
+ * Refreshes the UI.
*/
- public void dispose()
+ public void refreshUI()
{
- removeListeners();
-
- super.dispose();
+ if ( initialized )
+ {
+ fillInUiFields();
+ }
}
}