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/08/31 17:23:42 UTC
svn commit: r571492 - in
/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view:
editors/schema/ wizards/
Author: pamarcelot
Date: Fri Aug 31 08:23:41 2007
New Revision: 571492
URL: http://svn.apache.org/viewvc?rev=571492&view=rev
Log:
Fixed a NPE in the Schema Editor.
Added "(None)" syntax and matching rules to the NewAttributeTypeWizard.
Modified:
directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditor.java
directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java
directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java
directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeContentWizardPage.java
directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeMatchingRulesWizardPage.java
Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditor.java?rev=571492&r1=571491&r2=571492&view=diff
==============================================================================
--- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditor.java (original)
+++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditor.java Fri Aug 31 08:23:41 2007
@@ -83,9 +83,9 @@
setInput( input );
setPartName( input.getName() );
- Activator.getDefault().getSchemaHandler().addListener( schemaHandlerListener );
-
schema = ( ( SchemaEditorInput ) getEditorInput() ).getSchema();
+
+ Activator.getDefault().getSchemaHandler().addListener( schemaHandlerListener );
}
Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java?rev=571492&r1=571491&r2=571492&view=diff
==============================================================================
--- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java (original)
+++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorOverviewPage.java Fri Aug 31 08:23:41 2007
@@ -210,7 +210,6 @@
{
// Getting the associated schema
schema = ( ( SchemaEditor ) getEditor() ).getSchema();
- schemaHandler.addListener( schema, schemaListener );
// Creating the base UI
ScrolledForm form = managedForm.getForm();
@@ -305,11 +304,34 @@
/**
- * Initializes and adds the listners.
+ * Initializes and adds the listeners.
*/
private void addListeners()
{
+ schemaHandler.addListener( schema, schemaListener );
attributeTypesTableViewer.addDoubleClickListener( attributeTypesTableViewerListener );
objectClassesTableViewer.addDoubleClickListener( objectClassesTableViewerListener );
+ }
+
+
+ /**
+ * Removes the listeners.
+ */
+ private void removeListeners()
+ {
+ schemaHandler.removeListener( schema, schemaListener );
+ attributeTypesTableViewer.removeDoubleClickListener( attributeTypesTableViewerListener );
+ objectClassesTableViewer.removeDoubleClickListener( objectClassesTableViewerListener );
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#dispose()
+ */
+ public void dispose()
+ {
+ removeListeners();
+
+ super.dispose();
}
}
Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java?rev=571492&r1=571491&r2=571492&view=diff
==============================================================================
--- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java (original)
+++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/editors/schema/SchemaEditorSourceCodePage.java Fri Aug 31 08:23:41 2007
@@ -194,7 +194,6 @@
protected void createFormContent( IManagedForm managedForm )
{
schema = ( ( SchemaEditor ) getEditor() ).getSchema();
- Activator.getDefault().getSchemaHandler().addListener( schema, schemaListener );
ScrolledForm form = managedForm.getForm();
FormToolkit toolkit = managedForm.getToolkit();
@@ -219,6 +218,8 @@
// Initializes the UI from the schema
fillInUiFields();
+
+ addListeners();
}
@@ -228,5 +229,34 @@
private void fillInUiFields()
{
schemaSourceViewer.getDocument().set( OpenLdapSchemaFileExporter.toSourceCode( schema ) );
+ }
+
+
+ /**
+ * Adds the listeners.
+ */
+ private void addListeners()
+ {
+ Activator.getDefault().getSchemaHandler().addListener( schema, schemaListener );
+ }
+
+
+ /**
+ * Removes the listeners.
+ */
+ private void removeListeners()
+ {
+ Activator.getDefault().getSchemaHandler().removeListener( schema, schemaListener );
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.editor.FormPage#dispose()
+ */
+ public void dispose()
+ {
+ removeListeners();
+
+ super.dispose();
}
}
Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeContentWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeContentWizardPage.java?rev=571492&r1=571491&r2=571492&view=diff
==============================================================================
--- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeContentWizardPage.java (original)
+++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeContentWizardPage.java Fri Aug 31 08:23:41 2007
@@ -236,38 +236,52 @@
/**
* Initializes the UI fields.
*/
+ @SuppressWarnings("unchecked")
private void initFields()
{
if ( schemaHandler != null )
{
// Getting the syntaxes
- List<SyntaxImpl> syntaxes = new ArrayList<SyntaxImpl>( schemaHandler.getSyntaxes() );
+ List<Object> syntaxes = new ArrayList( schemaHandler.getSyntaxes() );
+ // Adding the (None) Syntax
+ String none = "(None)";
+ syntaxes.add( none );
// Sorting the syntaxes
- Collections.sort( syntaxes, new Comparator<SyntaxImpl>()
+ Collections.sort( syntaxes, new Comparator<Object>()
{
-
- public int compare( SyntaxImpl o1, SyntaxImpl o2 )
+ public int compare( Object o1, Object o2 )
{
- String[] o1Names = o1.getNames();
- String[] o2Names = o2.getNames();
-
- // Comparing the First Name
- if ( ( o1Names != null ) && ( o2Names != null ) )
+ if ( ( o1 instanceof SyntaxImpl ) && ( o2 instanceof SyntaxImpl ) )
{
- if ( ( o1Names.length > 0 ) && ( o2Names.length > 0 ) )
- {
- return o1Names[0].compareToIgnoreCase( o2Names[0] );
- }
- else if ( ( o1Names.length == 0 ) && ( o2Names.length > 0 ) )
- {
- return "".compareToIgnoreCase( o2Names[0] );
- }
- else if ( ( o1Names.length > 0 ) && ( o2Names.length == 0 ) )
+ String[] o1Names = ( ( SyntaxImpl ) o1 ).getNames();
+ String[] o2Names = ( ( SyntaxImpl ) o2 ).getNames();
+
+ // Comparing the First Name
+ if ( ( o1Names != null ) && ( o2Names != null ) )
{
- return o1Names[0].compareToIgnoreCase( "" );
+ if ( ( o1Names.length > 0 ) && ( o2Names.length > 0 ) )
+ {
+ return o1Names[0].compareToIgnoreCase( o2Names[0] );
+ }
+ else if ( ( o1Names.length == 0 ) && ( o2Names.length > 0 ) )
+ {
+ return "".compareToIgnoreCase( o2Names[0] );
+ }
+ else if ( ( o1Names.length > 0 ) && ( o2Names.length == 0 ) )
+ {
+ return o1Names[0].compareToIgnoreCase( "" );
+ }
}
}
+ else if ( ( o1 instanceof String ) && ( o2 instanceof SyntaxImpl ) )
+ {
+ return Integer.MIN_VALUE;
+ }
+ else if ( ( o1 instanceof SyntaxImpl ) && ( o2 instanceof String ) )
+ {
+ return Integer.MAX_VALUE;
+ }
// Default
return o1.toString().compareToIgnoreCase( o2.toString() );
@@ -276,6 +290,7 @@
// Setting the input
syntaxComboViewer.setInput( syntaxes );
+ syntaxComboViewer.setSelection( new StructuredSelection( none ) );
}
}
@@ -381,11 +396,11 @@
*/
public String getSyntax()
{
- SyntaxImpl syntax = ( SyntaxImpl ) ( ( StructuredSelection ) syntaxComboViewer.getSelection() )
- .getFirstElement();
- if ( syntax != null )
+ Object selection = ( ( StructuredSelection ) syntaxComboViewer.getSelection() ).getFirstElement();
+
+ if ( selection instanceof SyntaxImpl )
{
- return syntax.getOid();
+ return ( ( SyntaxImpl ) selection ).getOid();
}
return null;
Modified: directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeMatchingRulesWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeMatchingRulesWizardPage.java?rev=571492&r1=571491&r2=571492&view=diff
==============================================================================
--- directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeMatchingRulesWizardPage.java (original)
+++ directory/studio/trunk/studio-schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewAttributeTypeMatchingRulesWizardPage.java Fri Aug 31 08:23:41 2007
@@ -157,36 +157,51 @@
/**
* Initializes the UI fields.
*/
+ @SuppressWarnings("unchecked")
private void initFields()
{
if ( schemaHandler != null )
{
// Getting the matching rules
- List<MatchingRuleImpl> matchingRules = new ArrayList<MatchingRuleImpl>( schemaHandler.getMatchingRules() );
+ List<Object> matchingRules = new ArrayList( schemaHandler.getMatchingRules() );
+ // Adding the (None) matching rule
+ String none = "(None)";
+ matchingRules.add( none );
// Sorting the matching rules
- Collections.sort( matchingRules, new Comparator<MatchingRuleImpl>()
+ Collections.sort( matchingRules, new Comparator<Object>()
{
- public int compare( MatchingRuleImpl o1, MatchingRuleImpl o2 )
+ public int compare( Object o1, Object o2 )
{
- String[] o1Names = o1.getNames();
- String[] o2Names = o2.getNames();
-
- // Comparing the First Name
- if ( ( o1Names != null ) && ( o2Names != null ) )
+ if ( ( o1 instanceof MatchingRuleImpl ) && ( o2 instanceof MatchingRuleImpl ) )
{
- if ( ( o1Names.length > 0 ) && ( o2Names.length > 0 ) )
+ String[] o1Names = ( ( MatchingRuleImpl ) o1 ).getNames();
+ String[] o2Names = ( ( MatchingRuleImpl ) o2 ).getNames();
+
+ // Comparing the First Name
+ if ( ( o1Names != null ) && ( o2Names != null ) )
{
- return o1Names[0].compareToIgnoreCase( o2Names[0] );
+ if ( ( o1Names.length > 0 ) && ( o2Names.length > 0 ) )
+ {
+ return o1Names[0].compareToIgnoreCase( o2Names[0] );
+ }
+ else if ( ( o1Names.length == 0 ) && ( o2Names.length > 0 ) )
+ {
+ return "".compareToIgnoreCase( o2Names[0] );
+ }
+ else if ( ( o1Names.length > 0 ) && ( o2Names.length == 0 ) )
+ {
+ return o1Names[0].compareToIgnoreCase( "" );
+ }
}
- else if ( ( o1Names.length == 0 ) && ( o2Names.length > 0 ) )
+ else if ( ( o1 instanceof String ) && ( o2 instanceof MatchingRuleImpl ) )
{
- return "".compareToIgnoreCase( o2Names[0] );
+ return Integer.MIN_VALUE;
}
- else if ( ( o1Names.length > 0 ) && ( o2Names.length == 0 ) )
+ else if ( ( o1 instanceof MatchingRuleImpl ) && ( o2 instanceof String ) )
{
- return o1Names[0].compareToIgnoreCase( "" );
+ return Integer.MAX_VALUE;
}
}
@@ -199,6 +214,11 @@
equalityComboViewer.setInput( matchingRules );
orderingComboViewer.setInput( matchingRules );
substringComboViewer.setInput( matchingRules );
+
+ // Selecting the None matching rules
+ equalityComboViewer.setSelection( new StructuredSelection( none ) );
+ orderingComboViewer.setSelection( new StructuredSelection( none ) );
+ substringComboViewer.setSelection( new StructuredSelection( none ) );
}
}
@@ -211,10 +231,12 @@
*/
public String getEqualityMatchingRuleValue()
{
- MatchingRuleImpl mr = ( MatchingRuleImpl ) ( ( StructuredSelection ) equalityComboViewer.getSelection() )
- .getFirstElement();
- if ( mr != null )
+ Object selection = ( ( StructuredSelection ) equalityComboViewer.getSelection() ).getFirstElement();
+
+ if ( selection instanceof MatchingRuleImpl )
{
+ MatchingRuleImpl mr = ( ( MatchingRuleImpl ) selection );
+
String[] names = mr.getNames();
if ( ( names != null ) && ( names.length > 0 ) )
{
@@ -238,10 +260,12 @@
*/
public String getOrderingMatchingRuleValue()
{
- MatchingRuleImpl mr = ( MatchingRuleImpl ) ( ( StructuredSelection ) orderingComboViewer.getSelection() )
- .getFirstElement();
- if ( mr != null )
+ Object selection = ( ( StructuredSelection ) orderingComboViewer.getSelection() ).getFirstElement();
+
+ if ( selection instanceof MatchingRuleImpl )
{
+ MatchingRuleImpl mr = ( ( MatchingRuleImpl ) selection );
+
String[] names = mr.getNames();
if ( ( names != null ) && ( names.length > 0 ) )
{
@@ -265,10 +289,12 @@
*/
public String getSubstringMatchingRuleValue()
{
- MatchingRuleImpl mr = ( MatchingRuleImpl ) ( ( StructuredSelection ) substringComboViewer.getSelection() )
- .getFirstElement();
- if ( mr != null )
+ Object selection = ( ( StructuredSelection ) substringComboViewer.getSelection() ).getFirstElement();
+
+ if ( selection instanceof MatchingRuleImpl )
{
+ MatchingRuleImpl mr = ( ( MatchingRuleImpl ) selection );
+
String[] names = mr.getNames();
if ( ( names != null ) && ( names.length > 0 ) )
{