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/09 16:35:10 UTC
svn commit: r554663 [1/2] - in
/directory/studio/trunk/studio-apacheds-schemaeditor: ./ resources/icons/
src/main/java/org/apache/directory/studio/apacheds/schemaeditor/
src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/
src/ma...
Author: pamarcelot
Date: Mon Jul 9 07:35:09 2007
New Revision: 554663
URL: http://svn.apache.org/viewvc?view=rev&rev=554663
Log:
Added the 'Schema Editor' Perspective.
Added the 'Problems' View.
Updated the Schema Checker and its Errors and Warnings.
Added:
directory/studio/trunk/studio-apacheds-schemaeditor/resources/icons/schemaeditor_perspective.gif (with props)
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NoAliasWarning.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMandatoryATError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOptionalATError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaCheckerListener.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsView.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewContentProvider.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewLabelProvider.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/ProblemsViewRoot.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaErrorWrapper.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaWarningWrapper.java
Modified:
directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/FakeLoader.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateAliasError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateMandatoryOptionalAttributeError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateOidError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingATSuperiorError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMatchingRuleError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOCSuperiorError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingSyntaxError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaChecker.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaError.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaWarning.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/SchemaView.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/Folder.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaViewRoot.java
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml Mon Jul 9 07:35:09 2007
@@ -20,6 +20,14 @@
-->
<plugin>
<extension
+ point="org.eclipse.ui.perspectives">
+ <perspective
+ class="org.apache.directory.studio.apacheds.schemaeditor.view.Perspective"
+ icon="resources/icons/schemaeditor_perspective.gif"
+ id="org.apache.directory.studio.apacheds.schemaeditor.perspective"
+ name="Schema Editor"/>
+ </extension>
+ <extension
point="org.eclipse.ui.views">
<category
id="org.apache.directory.studio.apacheds.schemaeditor.view.category"
@@ -30,7 +38,14 @@
class="org.apache.directory.studio.apacheds.schemaeditor.view.views.SchemaView"
icon="resources/icons/schemas_view.png"
id="org.apache.directory.studio.apacheds.schemaeditor.view.SchemaView"
- name="Apache DS Schema"/>
+ name="Schema"/>
+ <view
+ allowMultiple="false"
+ category="org.apache.directory.studio.apacheds.schemaeditor.view.category"
+ class="org.apache.directory.studio.apacheds.schemaeditor.view.views.ProblemsView"
+ icon="resources/icons/problems_view.gif"
+ id="org.apache.directory.studio.apacheds.schemaeditor.view.ProblemsView"
+ name="Problems"/>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
Added: directory/studio/trunk/studio-apacheds-schemaeditor/resources/icons/schemaeditor_perspective.gif
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/resources/icons/schemaeditor_perspective.gif?view=auto&rev=554663
==============================================================================
Binary file - no diff available.
Propchange: directory/studio/trunk/studio-apacheds-schemaeditor/resources/icons/schemaeditor_perspective.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/FakeLoader.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/FakeLoader.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/FakeLoader.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/FakeLoader.java Mon Jul 9 07:35:09 2007
@@ -47,6 +47,8 @@
oc1.setNames(new String[] { "oc1", "objectClass1" } );
oc1.setSchema( schema1.getName() );
schema1.addObjectClass( oc1 );
+ oc1.setMayNamesList( new String[] { "nonexistingAT", "at1" } );
+ oc1.setMustNamesList( new String[] { "at1" } );
schemaHandler.addSchema( schema1 );
schemaHandler.addListener( new SchemaHandlerAdapter(){
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProblemsViewController.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.controller;
+
+
+import java.rmi.activation.Activatable;
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+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.ObjectClassImpl;
+import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaCheckerListener;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditorInput;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditorInput;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.ProblemsView;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.Folder;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaErrorWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaWarningWrapper;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+
+/**
+ * This class implements the Controller for the ProblemsView.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ProblemsViewController
+{
+ /** The associated view */
+ private ProblemsView view;
+
+
+ // The Actions
+
+ /**
+ * Creates a new instance of SchemasViewController.
+ *
+ * @param view
+ * the associated view
+ */
+ public ProblemsViewController( ProblemsView view )
+ {
+ this.view = view;
+
+ initActions();
+ initToolbar();
+ initDoubleClickListener();
+ initSchemaCheckerListener();
+ }
+
+
+ /**
+ * Initializes the Actions.
+ */
+ private void initActions()
+ {
+ }
+
+
+ /**
+ * Initializes the Toolbar.
+ */
+ private void initToolbar()
+ {
+ IToolBarManager toolbar = view.getViewSite().getActionBars().getToolBarManager();
+ }
+
+
+ /**
+ * Initializes the DoubleClickListener.
+ */
+ private void initDoubleClickListener()
+ {
+ view.getViewer().addDoubleClickListener( new IDoubleClickListener()
+ {
+ public void doubleClick( DoubleClickEvent event )
+ {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+
+ TreeViewer viewer = view.getViewer();
+
+ // What we get from the treeViewer is a StructuredSelection
+ StructuredSelection selection = ( StructuredSelection ) event.getSelection();
+
+ // Here's the real object (an AttributeTypeWrapper, ObjectClassWrapper or IntermediateNode)
+ Object objectSelection = selection.getFirstElement();
+ IEditorInput input = null;
+ String editorId = null;
+
+ // Selecting the right editor and input
+ if ( objectSelection instanceof SchemaErrorWrapper )
+ {
+ SchemaObject object = ( ( SchemaErrorWrapper ) objectSelection ).getSchemaError().getSource();
+
+ if ( object instanceof AttributeTypeImpl )
+ {
+ input = new AttributeTypeEditorInput( ( AttributeTypeImpl ) object );
+ editorId = AttributeTypeEditor.ID;
+ }
+ else if ( object instanceof ObjectClassImpl )
+ {
+ input = new ObjectClassEditorInput( ( ObjectClassImpl ) object );
+ editorId = ObjectClassEditor.ID;
+ }
+ }
+ else if ( objectSelection instanceof SchemaWarningWrapper )
+ {
+ SchemaObject object = ( ( SchemaWarningWrapper ) objectSelection ).getSchemaWarning().getSource();
+
+ if ( object instanceof AttributeTypeImpl )
+ {
+ input = new AttributeTypeEditorInput( ( AttributeTypeImpl ) object );
+ editorId = AttributeTypeEditor.ID;
+ }
+ else if ( object instanceof ObjectClassImpl )
+ {
+ input = new ObjectClassEditorInput( ( ObjectClassImpl ) object );
+ editorId = ObjectClassEditor.ID;
+ }
+ }
+ else if ( ( objectSelection instanceof Folder ) )
+ {
+ // Here we don't open an editor, we just expand the node.
+ viewer.setExpandedState( objectSelection, !viewer.getExpandedState( objectSelection ) );
+ }
+
+ // Let's open the editor
+ if ( input != null )
+ {
+ try
+ {
+ page.openEditor( input, editorId );
+ }
+ catch ( PartInitException e )
+ {
+ // TODO
+ }
+ }
+ }
+ } );
+ }
+
+
+ /**
+ * Initializes the SchemaCheckerListener.
+ */
+ private void initSchemaCheckerListener()
+ {
+ Activator.getDefault().getSchemaChecker().addListener( new SchemaCheckerListener()
+ {
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaCheckerListener#schemaCheckerUpdated()
+ */
+ public void schemaCheckerUpdated()
+ {
+ view.reloadViewer();
+ }
+ } );
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateAliasError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateAliasError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateAliasError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateAliasError.java Mon Jul 9 07:35:09 2007
@@ -59,11 +59,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateMandatoryOptionalAttributeError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateMandatoryOptionalAttributeError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateMandatoryOptionalAttributeError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateMandatoryOptionalAttributeError.java Mon Jul 9 07:35:09 2007
@@ -53,11 +53,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateOidError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateOidError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateOidError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/DuplicateOidError.java Mon Jul 9 07:35:09 2007
@@ -59,11 +59,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NoAliasWarning.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NoAliasWarning.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NoAliasWarning.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NoAliasWarning.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+
+/**
+ * This class represents the NoAliasWarning.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class NoAliasWarning implements SchemaWarning
+{
+ /** The source object */
+ private SchemaObject source;
+
+
+ /**
+ * Creates a new instance of NoAliasWarning.
+ *
+ * @param source
+ * the source object
+ */
+ public NoAliasWarning( SchemaObject source )
+ {
+ this.source = source;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaWarning#getSource()
+ */
+ public SchemaObject getSource()
+ {
+ return source;
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingATSuperiorError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingATSuperiorError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingATSuperiorError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingATSuperiorError.java Mon Jul 9 07:35:09 2007
@@ -53,11 +53,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMandatoryATError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMandatoryATError.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMandatoryATError.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMandatoryATError.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+
+
+/**
+ * This class represents the NonExistingMandatoryATError.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class NonExistingMandatoryATError implements SchemaError
+{
+ /** The source object */
+ private SchemaObject source;
+
+ /** The mandatory attribute type's alias */
+ private String alias;
+
+
+ /**
+ * Creates a new instance of NonExistingMandatoryATError.
+ *
+ * @param source
+ * the source object
+ * @param alias
+ * the mandatory attribute type's alias
+ */
+ public NonExistingMandatoryATError( SchemaObject source, String alias )
+ {
+ this.source = source;
+ this.alias = alias;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
+ */
+ public SchemaObject getSource()
+ {
+ return source;
+ }
+
+
+ /**
+ * Gets the mandatory attribute type's alias.
+ *
+ * @return
+ * the mandatory attribute type's alias
+ */
+ public String getAlias()
+ {
+ return alias;
+ }
+
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString()
+ {
+ return "[NonExistingMandatoryATError - Source: " + getSource() + " - alias: " + getAlias() + "]";
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMatchingRuleError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMatchingRuleError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMatchingRuleError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingMatchingRuleError.java Mon Jul 9 07:35:09 2007
@@ -68,11 +68,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOCSuperiorError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOCSuperiorError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOCSuperiorError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOCSuperiorError.java Mon Jul 9 07:35:09 2007
@@ -52,12 +52,9 @@
this.supAlias = supAlias;
}
-
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOptionalATError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOptionalATError.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOptionalATError.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingOptionalATError.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+
+
+/**
+ * This class represents the NonExistingOptionalATError.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class NonExistingOptionalATError implements SchemaError
+{
+ /** The source object */
+ private SchemaObject source;
+
+ /** The optional attribute type's alias */
+ private String alias;
+
+
+ /**
+ * Creates a new instance of NonExistingOptionalATError.
+ *
+ * @param source
+ * the source object
+ * @param alias
+ * the optional attribute type's alias
+ */
+ public NonExistingOptionalATError( SchemaObject source, String alias )
+ {
+ this.source = source;
+ this.alias = alias;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
+ */
+ public SchemaObject getSource()
+ {
+ return source;
+ }
+
+
+ /**
+ * Gets the optional attribute type's alias.
+ *
+ * @return
+ * the optional attribute type's alias
+ */
+ public String getAlias()
+ {
+ return alias;
+ }
+
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString()
+ {
+ return "[NonExistingOptionalATError - Source: " + getSource() + " - alias: " + getAlias() + "]";
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingSyntaxError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingSyntaxError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingSyntaxError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/NonExistingSyntaxError.java Mon Jul 9 07:35:09 2007
@@ -53,11 +53,8 @@
}
- /**
- * Gets the source object.
- *
- * @return
- * the source object
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError#getSource()
*/
public SchemaObject getSource()
{
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaChecker.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaChecker.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaChecker.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaChecker.java Mon Jul 9 07:35:09 2007
@@ -29,12 +29,11 @@
import org.apache.directory.shared.ldap.schema.SchemaObject;
import org.apache.directory.studio.apacheds.schemaeditor.Activator;
import org.apache.directory.studio.apacheds.schemaeditor.controller.SchemaHandler;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.SchemaHandlerAdapter;
import org.apache.directory.studio.apacheds.schemaeditor.controller.SchemaHandlerListener;
import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl;
-import org.apache.directory.studio.apacheds.schemaeditor.model.MatchingRuleImpl;
import org.apache.directory.studio.apacheds.schemaeditor.model.ObjectClassImpl;
import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;
-import org.apache.directory.studio.apacheds.schemaeditor.model.SyntaxImpl;
import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.NonExistingMatchingRuleError.NonExistingMatchingRuleErrorEnum;
@@ -66,107 +65,78 @@
/** The 'listening to modifications' flag*/
private boolean listeningToModifications = false;
+ /** The listeners List */
+ private List<SchemaCheckerListener> listeners;
+
/** The SchemaHandlerListener */
- private SchemaHandlerListener schemaHandlerListener = new SchemaHandlerListener()
+ private SchemaHandlerListener schemaHandlerListener = new SchemaHandlerAdapter()
{
public void attributeTypeAdded( AttributeTypeImpl at )
{
- // TODO Auto-generated method stub
- System.out.println( "AT Added" );
checkAttributeType( at );
}
public void attributeTypeModified( AttributeTypeImpl at )
{
- // TODO Auto-generated method stub
-
+ checkAttributeType( at );
}
public void attributeTypeRemoved( AttributeTypeImpl at )
{
- // TODO Auto-generated method stub
-
- }
-
-
- public void matchingRuleAdded( MatchingRuleImpl mr )
- {
- // TODO Auto-generated method stub
-
- }
-
-
- public void matchingRuleModified( MatchingRuleImpl mr )
- {
- // TODO Auto-generated method stub
-
- }
-
-
- public void matchingRuleRemoved( MatchingRuleImpl mr )
- {
- // TODO Auto-generated method stub
-
+ removeSchemaObject( at );
}
public void objectClassAdded( ObjectClassImpl oc )
{
- // TODO Auto-generated method stub
-
+ checkObjectClass( oc );
}
public void objectClassModified( ObjectClassImpl oc )
{
- // TODO Auto-generated method stub
-
+ checkObjectClass( oc );
}
public void objectClassRemoved( ObjectClassImpl oc )
{
- // TODO Auto-generated method stub
-
+ removeSchemaObject( oc );
}
public void schemaAdded( Schema schema )
{
- // TODO Auto-generated method stub
+ List<AttributeTypeImpl> ats = schema.getAttributeTypes();
+ for ( AttributeTypeImpl at : ats )
+ {
+ checkAttributeType( at );
+ }
+ List<ObjectClassImpl> ocs = schema.getObjectClasses();
+ for ( ObjectClassImpl oc : ocs )
+ {
+ checkObjectClass( oc );
+ }
}
public void schemaRemoved( Schema schema )
{
- // TODO Auto-generated method stub
-
- }
-
-
- public void syntaxAdded( SyntaxImpl syntax )
- {
- // TODO Auto-generated method stub
-
- }
-
-
- public void syntaxModified( SyntaxImpl syntax )
- {
- // TODO Auto-generated method stub
-
- }
-
-
- public void syntaxRemoved( SyntaxImpl syntax )
- {
- // TODO Auto-generated method stub
+ List<AttributeTypeImpl> ats = schema.getAttributeTypes();
+ for ( AttributeTypeImpl at : ats )
+ {
+ removeSchemaObject( at );
+ }
+ List<ObjectClassImpl> ocs = schema.getObjectClasses();
+ for ( ObjectClassImpl oc : ocs )
+ {
+ removeSchemaObject( oc );
+ }
}
-
};
@@ -180,6 +150,7 @@
errorsMap = new MultiValueMap();
warningsList = new ArrayList<SchemaWarning>();
warningsMap = new MultiValueMap();
+ listeners = new ArrayList<SchemaCheckerListener>();
}
@@ -268,7 +239,7 @@
*/
private void checkAttributeType( AttributeTypeImpl at )
{
- removeSchemaObject( at );
+ removeSchemaObject( at, false );
// Checking OID
String oid = at.getOid();
@@ -292,7 +263,13 @@
// Checking aliases
String[] aliases = at.getNames();
- if ( ( aliases != null ) && ( aliases.length >= 1 ) )
+ if ( ( aliases == null ) || ( aliases.length == 0 ) )
+ {
+ SchemaWarning warning = new NoAliasWarning( at );
+ warningsList.add( warning );
+ warningsMap.put( at, warning );
+ }
+ else if ( ( aliases != null ) && ( aliases.length >= 1 ) )
{
for ( String alias : aliases )
{
@@ -375,6 +352,8 @@
errorsMap.put( at, error );
}
}
+
+ notifyListeners();
}
@@ -386,7 +365,7 @@
*/
private void checkObjectClass( ObjectClassImpl oc )
{
- removeSchemaObject( oc );
+ removeSchemaObject( oc, false );
// Checking OID
String oid = oc.getOid();
@@ -410,7 +389,13 @@
// Checking aliases
String[] aliases = oc.getNames();
- if ( ( aliases != null ) && ( aliases.length >= 1 ) )
+ if ( ( aliases == null ) || ( aliases.length == 0 ) )
+ {
+ SchemaWarning warning = new NoAliasWarning( oc );
+ warningsList.add( warning );
+ warningsMap.put( oc, warning );
+ }
+ else if ( ( aliases != null ) && ( aliases.length >= 1 ) )
{
for ( String alias : aliases )
{
@@ -462,9 +447,27 @@
errorsList.add( error );
errorsMap.put( oc, error );
}
+
+ if ( schemaHandler.getAttributeType( mandatoryAT ) == null )
+ {
+ SchemaError error = new NonExistingMandatoryATError( oc, mandatoryAT );
+ errorsList.add( error );
+ errorsMap.put( oc, error );
+ }
}
+ for ( String optionalAT : optionalATsList )
+ {
+ if ( schemaHandler.getAttributeType( optionalAT ) == null )
+ {
+ SchemaError error = new NonExistingOptionalATError( oc, optionalAT );
+ errorsList.add( error );
+ errorsMap.put( oc, error );
+ }
+ }
}
+
+ notifyListeners();
}
@@ -476,6 +479,20 @@
*/
private void removeSchemaObject( SchemaObject element )
{
+ removeSchemaObject( element, true );
+ }
+
+
+ /**
+ * Remove the errors and warnings for the given schema element.
+ *
+ * @param element
+ * a schema element
+ * @param notify
+ * true if the listeners needs to be notified
+ */
+ private void removeSchemaObject( SchemaObject element, boolean notify )
+ {
// Removing old errors and warnings
List<?> errors = ( List<?> ) errorsMap.get( element );
if ( ( errors != null ) && ( errors.size() >= 1 ) )
@@ -556,5 +573,44 @@
public List<SchemaWarning> getWarnings()
{
return warningsList;
+ }
+
+
+ /**
+ * Adds a SchemaCheckerListener.
+ *
+ * @param listener
+ * the listener
+ */
+ public void addListener( SchemaCheckerListener listener )
+ {
+ if ( !listeners.contains( listener ) )
+ {
+ listeners.add( listener );
+ }
+ }
+
+
+ /**
+ * Removes a SchemaCheckerListener.
+ *
+ * @param listener
+ * the listener
+ */
+ public void removeListener( SchemaCheckerListener listener )
+ {
+ listeners.remove( listener );
+ }
+
+
+ /**
+ * Notifies the listeners.
+ */
+ private void notifyListeners()
+ {
+ for ( SchemaCheckerListener listener : listeners )
+ {
+ listener.schemaCheckerUpdated();
+ }
}
}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaCheckerListener.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaCheckerListener.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaCheckerListener.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaCheckerListener.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+
+/**
+ * Classes which implement this interface provide methods that deal with the
+ * events that are generated when an event occurrs on the SchemaChecker.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public interface SchemaCheckerListener
+{
+ /**
+ * This methods is called when the SchemaChecker is updated.
+ */
+ public void schemaCheckerUpdated();
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaError.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaError.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaError.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaError.java Mon Jul 9 07:35:09 2007
@@ -20,6 +20,9 @@
package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+
+
/**
* Common interface for the all the schema errors.
*
@@ -28,4 +31,11 @@
*/
public interface SchemaError
{
+ /**
+ * Gets the source object.
+ *
+ * @return
+ * the source object
+ */
+ public SchemaObject getSource();
}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaWarning.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaWarning.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaWarning.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/schemachecker/SchemaWarning.java Mon Jul 9 07:35:09 2007
@@ -20,6 +20,9 @@
package org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker;
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+
+
/**
* Common interface for all the schema warnings.
*
@@ -28,4 +31,11 @@
*/
public interface SchemaWarning
{
+ /**
+ * Gets the source object.
+ *
+ * @return
+ * the source object
+ */
+ public SchemaObject getSource();
}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.ProblemsView;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.SchemaView;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+
+/**
+ * This class represents the Schema Editor Perspective.
+ * <p>
+ * It is composed of two views, the Schema View and the Problems View, and the editor part.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class Perspective implements IPerspectiveFactory
+{
+ /** The ID of the view */
+ public static final String ID = Activator.PLUGIN_ID + ".perspective"; //$NON-NLS-1$
+
+ /** The ID of the top left folder */
+ public static final String topLeftFolderId = "org.apache.directory.studio.apacheds.schemaeditor.topleftfolder"; //$NON-NLS-1$
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
+ */
+ public void createInitialLayout( IPageLayout layout )
+ {
+ // Allowing the Editor Area
+ layout.setEditorAreaVisible( true );
+ String editorAreaId = layout.getEditorArea();
+
+ // Creating top left folder
+ IFolderLayout topLeftFolder = layout.createFolder( topLeftFolderId, IPageLayout.LEFT, 0.3f, editorAreaId );
+ layout.addPlaceholder( topLeftFolderId, IPageLayout.LEFT, 0.3f, editorAreaId );
+
+ // Adding Views
+ topLeftFolder.addView( SchemaView.ID );
+ layout.addStandaloneView( ProblemsView.ID, true, IPageLayout.BOTTOM, 0.7f, editorAreaId );
+
+ // Setting up non-closeable views
+ layout.getViewLayout( SchemaView.ID ).setCloseable( false );
+
+ // Adding Perspective shortcuts
+ layout.addPerspectiveShortcut( "org.apache.directory.studio.ldapbrowser.ui.perspective.BrowserPerspective" ); //$NON-NLS-1$
+ layout.addPerspectiveShortcut( Perspective.ID );
+
+ // Adding View shortcuts
+ layout.addShowViewShortcut( SchemaView.ID );
+ layout.addShowViewShortcut( ProblemsView.ID );
+ }
+}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsView.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsView.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsView.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsView.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view.views;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.ProblemsViewController;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.ProblemsViewRoot;
+import org.eclipse.jface.viewers.DecoratingLabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+import org.eclipse.ui.part.ViewPart;
+
+
+/**
+ * This class represents the SchemaView.
+ * It is used to display the Schema and its elements (Schemas, AttributeTypes
+ * and ObjectClasses).
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ProblemsView extends ViewPart
+{
+ /** The ID of the View */
+ public static final String ID = Activator.PLUGIN_ID + ".view.ProblemsView"; //$NON-NLS-1$
+
+ /** The viewer */
+ private TreeViewer treeViewer;
+
+ /** The content provider of the viewer */
+ private ProblemsViewContentProvider contentProvider;
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
+ */
+ public void createPartControl( Composite parent )
+ {
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.horizontalSpacing = 0;
+ gridLayout.marginBottom = 0;
+ gridLayout.marginHeight = 0;
+ gridLayout.marginLeft = 0;
+ gridLayout.marginRight = 0;
+ gridLayout.marginTop = 0;
+ gridLayout.marginWidth = 0;
+ gridLayout.verticalSpacing = 0;
+ parent.setLayout( gridLayout );
+
+ Label overviewLabel = new Label( parent, SWT.NULL );
+ overviewLabel.setText( "X error(s), X warning(s)" );
+ overviewLabel.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ initViewer( parent );
+
+ // Adding the controller
+ new ProblemsViewController( this );
+ }
+
+
+ /**
+ * Initializes the Viewer
+ */
+ private void initViewer( Composite parent )
+ {
+ treeViewer = new TreeViewer( parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL );
+ Tree tree = treeViewer.getTree();
+ tree.setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
+ tree.setHeaderVisible( true );
+ tree.setLinesVisible( true );
+ TreeColumn descriptionColumn = new TreeColumn( tree, SWT.LEFT );
+ descriptionColumn.setText( "Description" );
+ descriptionColumn.setWidth( 500 );
+ TreeColumn resourceColumn = new TreeColumn( tree, SWT.LEFT );
+ resourceColumn.setText( "Resource" );
+ resourceColumn.setWidth( 100 );
+ contentProvider = new ProblemsViewContentProvider( treeViewer );
+ treeViewer.setContentProvider( contentProvider );
+ treeViewer.setLabelProvider( new ProblemsViewLabelProvider() );
+ treeViewer.setInput( new ProblemsViewRoot() );
+ treeViewer.expandAll();
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
+ */
+ public void setFocus()
+ {
+ treeViewer.getTree().setFocus();
+ }
+
+
+ /**
+ * Gets the TreeViewer.
+ *
+ * @return
+ * the TreeViewer
+ */
+ public TreeViewer getViewer()
+ {
+ return treeViewer;
+ }
+
+
+ /**
+ * Reloads the Viewer
+ */
+ public void reloadViewer()
+ {
+ treeViewer.setInput( new ProblemsViewRoot() );
+ treeViewer.expandAll();
+ }
+}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewContentProvider.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewContentProvider.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewContentProvider.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewContentProvider.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view.views;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaChecker;
+import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError;
+import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaWarning;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.Folder;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.ProblemsViewRoot;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaErrorWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaWarningWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.TreeNode;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.Folder.FolderType;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+
+/**
+ * This class implements the ContentProvider for the ProblemsView.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ProblemsViewContentProvider implements IStructuredContentProvider, ITreeContentProvider
+{
+ /** The associated viewer */
+ private TreeViewer viewer;
+
+
+ /**
+ * Creates a new instance of ProblemsViewContentProvider.
+ *
+ * @param viewer
+ * the associated TreeViewer
+ */
+ public ProblemsViewContentProvider( TreeViewer viewer )
+ {
+ this.viewer = viewer;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ public Object[] getElements( Object inputElement )
+ {
+ return getChildren( inputElement );
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ public void dispose()
+ {
+ // Nothing to do.
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ */
+ public void inputChanged( Viewer viewer, Object oldInput, Object newInput )
+ {
+ // Nothing to do.
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+ */
+ public Object[] getChildren( Object parentElement )
+ {
+ List<TreeNode> children = null;
+
+ if ( parentElement instanceof ProblemsViewRoot )
+ {
+ ProblemsViewRoot root = ( ProblemsViewRoot ) parentElement;
+
+ if ( root.getChildren().isEmpty() )
+ {
+ SchemaChecker schemaChecker = Activator.getDefault().getSchemaChecker();
+
+ List<SchemaError> errors = schemaChecker.getErrors();
+ if ( !errors.isEmpty() )
+ {
+ Folder errorsFolder = new Folder( FolderType.ERROR, root );
+ root.addChild( errorsFolder );
+ for ( SchemaError error : errors )
+ {
+ errorsFolder.addChild( new SchemaErrorWrapper( error, errorsFolder ) );
+ }
+ }
+
+ List<SchemaWarning> warnings = schemaChecker.getWarnings();
+ if ( !warnings.isEmpty() )
+ {
+ Folder warningsFolder = new Folder( FolderType.WARNING, root );
+ root.addChild( warningsFolder );
+ for ( SchemaWarning warning : warnings )
+ {
+ warningsFolder.addChild( new SchemaWarningWrapper( warning, warningsFolder ) );
+ }
+ }
+ }
+
+ children = root.getChildren();
+ }
+ else if ( parentElement instanceof Folder )
+ {
+ Folder folder = ( Folder ) parentElement;
+
+ children = folder.getChildren();
+ }
+ else if ( parentElement instanceof SchemaErrorWrapper )
+ {
+ children = new ArrayList<TreeNode>();
+ }
+ else if ( parentElement instanceof SchemaWarningWrapper )
+ {
+ children = new ArrayList<TreeNode>();
+ }
+
+ return children.toArray();
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+ */
+ public Object getParent( Object element )
+ {
+ if ( element instanceof TreeNode )
+ {
+ return ( ( TreeNode ) element ).getParent();
+ }
+
+ // Default
+ return null;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+ */
+ public boolean hasChildren( Object element )
+ {
+ if ( element instanceof TreeNode )
+ {
+ return ( ( TreeNode ) element ).hasChildren();
+ }
+
+ // Default
+ return false;
+ }
+}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewLabelProvider.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewLabelProvider.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewLabelProvider.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/ProblemsViewLabelProvider.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view.views;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.Folder;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaErrorWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.SchemaWarningWrapper;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+/**
+ * This class implements the LabelProvider for the SchemaView.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ProblemsViewLabelProvider extends LabelProvider implements ITableLabelProvider
+{
+ public Image getColumnImage( Object element, int columnIndex )
+ {
+ if ( columnIndex == 0 )
+ {
+ if ( element instanceof SchemaErrorWrapper )
+ {
+ return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_PROBLEMS_ERROR ).createImage();
+ }
+ else if ( element instanceof SchemaWarningWrapper )
+ {
+ return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_PROBLEMS_WARNING ).createImage();
+ }
+ else if ( element instanceof Folder )
+ {
+ return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_PROBLEMS_GROUP ).createImage();
+ }
+ }
+
+ // Default
+ return null;
+ }
+
+
+ public String getColumnText( Object element, int columnIndex )
+ {
+ if ( element instanceof SchemaErrorWrapper )
+ {
+ SchemaErrorWrapper errorWrapper = ( SchemaErrorWrapper ) element;
+
+ if ( columnIndex == 0 )
+ {
+ return errorWrapper.getSchemaError().toString();
+ }
+ else if ( columnIndex == 1 )
+ {
+ String name = errorWrapper.getSchemaError().getSource().getName();
+
+ if ( ( name != null ) && ( !name.equals( "" ) ) )
+ {
+ return name;
+ }
+ else
+ {
+ return errorWrapper.getSchemaError().getSource().getOid();
+ }
+ }
+
+ }
+ else if ( element instanceof SchemaWarningWrapper )
+ {
+ SchemaWarningWrapper warningWrapper = ( SchemaWarningWrapper ) element;
+
+ if ( columnIndex == 0 )
+ {
+ return warningWrapper.getSchemaWarning().toString();
+ }
+ else if ( columnIndex == 1 )
+ {
+ String name = warningWrapper.getSchemaWarning().getSource().getName();
+
+ if ( ( name != null ) && ( !name.equals( "" ) ) )
+ {
+ return name;
+ }
+ else
+ {
+ return warningWrapper.getSchemaWarning().getSource().getOid();
+ }
+ }
+ }
+ else if ( element instanceof Folder )
+ {
+ Folder folder = ( Folder ) element;
+ if ( columnIndex == 0 )
+ {
+ return folder.getName() + " (" + folder.getChildren().size() + ")";
+ }
+ else
+ {
+ return "";
+ }
+ }
+
+ // Default
+ return element.toString();
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/SchemaView.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/SchemaView.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/SchemaView.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/SchemaView.java Mon Jul 9 07:35:09 2007
@@ -48,10 +48,10 @@
public class SchemaView extends ViewPart
{
/** The ID of the View */
- public static final String ID = Activator.PLUGIN_ID + ".view.SchemasView"; //$NON-NLS-1$
+ public static final String ID = Activator.PLUGIN_ID + ".view.SchemaView"; //$NON-NLS-1$
/** The viewer */
- private TreeViewer viewer;
+ private TreeViewer treeViewer;
/** The content provider of the viewer */
private SchemaViewContentProvider contentProvider;
@@ -65,51 +65,51 @@
initViewer( parent );
// Registering the Viewer, so other views can be notified when the viewer selection changes
- getSite().setSelectionProvider( viewer );
+ getSite().setSelectionProvider( treeViewer );
// Adding the controller
new SchemaViewController( this );
-
- DifferencesWidget differencesWidget = new DifferencesWidget();
- differencesWidget.createWidget( parent );
-
- List<Difference> differences = new ArrayList<Difference>();
- differences.add( new AddAliasDifference(null, null, "alias1") );
- differences.add( new RemoveAliasDifference(null, null, "alias2") );
- differences.add( new AddDescriptionDifference(null, null, "Description") );
- differences.add( new ModifyDescriptionDifference(null, null, "Old description", "New Description") );
- differences.add( new RemoveDescriptionDifference(null, null, "Description") );
- differences.add( new AddEqualityDifference(null, null, "equality") );
- differences.add( new ModifyEqualityDifference(null, null, "old equality", "new equality") );
- differences.add( new RemoveEqualityDifference(null, null, "equality") );
- differences.add( new AddMandatoryATDifference(null, null, "name") );
- differences.add( new RemoveMandatoryATDifference(null, null, "name2") );
- differences.add( new AddOptionalATDifference(null, null, "name") );
- differences.add( new RemoveOptionalATDifference(null, null, "name2") );
- differences.add( new AddOrderingDifference(null, null, "ordering") );
- differences.add( new ModifyOrderingDifference(null, null, "old ordering", "new ordering") );
- differences.add( new RemoveOrderingDifference(null, null, "ordering") );
- differences.add( new AddSubstringDifference(null, null, "substring") );
- differences.add( new ModifySubstringDifference(null, null, "old substring", "new substring") );
- differences.add( new RemoveSubstringDifference(null, null, "substring") );
- differences.add( new AddSuperiorATDifference(null, null, "supAT") );
- differences.add( new ModifySuperiorATDifference(null, null, "oldSupAT", "newSupAT") );
- differences.add( new RemoveSuperiorATDifference(null, null, "supAT") );
- differences.add( new AddSuperiorOCDifference(null, null, "supOC") );
- differences.add( new RemoveSuperiorOCDifference(null, null, "supOC") );
- differences.add( new AddSyntaxDifference(null, null, "syntax") );
- differences.add( new ModifySyntaxDifference(null, null, "syntax1", "syntax2") );
- differences.add( new RemoveSyntaxDifference(null, null, "syntax") );
- differences.add( new AddSyntaxLengthDifference(null, null, 1234) );
- differences.add( new ModifySyntaxLengthDifference(null, null, 1234, 12345) );
- differences.add( new RemoveSyntaxLengthDifference(null, null, 1234) );
- differences.add( new ModifyClassTypeDifference(null, null, ObjectClassTypeEnum.AUXILIARY, ObjectClassTypeEnum.ABSTRACT) );
- differences.add( new ModifyCollectiveDifference(null, null, false, true) );
- differences.add( new ModifyNoUserModificationDifference(null, null, true, false) );
- differences.add( new ModifyObsoleteDifference(null, null, true, false) );
- differences.add( new ModifySingleValueDifference(null, null, true, false) );
- differences.add( new ModifyUsageDifference(null, null, UsageEnum.DISTRIBUTED_OPERATION, UsageEnum.DSA_OPERATION) );
- differencesWidget.setInput( differences );
+
+ // DifferencesWidget differencesWidget = new DifferencesWidget();
+ // differencesWidget.createWidget( parent );
+ //
+ // List<Difference> differences = new ArrayList<Difference>();
+ // differences.add( new AddAliasDifference(null, null, "alias1") );
+ // differences.add( new RemoveAliasDifference(null, null, "alias2") );
+ // differences.add( new AddDescriptionDifference(null, null, "Description") );
+ // differences.add( new ModifyDescriptionDifference(null, null, "Old description", "New Description") );
+ // differences.add( new RemoveDescriptionDifference(null, null, "Description") );
+ // differences.add( new AddEqualityDifference(null, null, "equality") );
+ // differences.add( new ModifyEqualityDifference(null, null, "old equality", "new equality") );
+ // differences.add( new RemoveEqualityDifference(null, null, "equality") );
+ // differences.add( new AddMandatoryATDifference(null, null, "name") );
+ // differences.add( new RemoveMandatoryATDifference(null, null, "name2") );
+ // differences.add( new AddOptionalATDifference(null, null, "name") );
+ // differences.add( new RemoveOptionalATDifference(null, null, "name2") );
+ // differences.add( new AddOrderingDifference(null, null, "ordering") );
+ // differences.add( new ModifyOrderingDifference(null, null, "old ordering", "new ordering") );
+ // differences.add( new RemoveOrderingDifference(null, null, "ordering") );
+ // differences.add( new AddSubstringDifference(null, null, "substring") );
+ // differences.add( new ModifySubstringDifference(null, null, "old substring", "new substring") );
+ // differences.add( new RemoveSubstringDifference(null, null, "substring") );
+ // differences.add( new AddSuperiorATDifference(null, null, "supAT") );
+ // differences.add( new ModifySuperiorATDifference(null, null, "oldSupAT", "newSupAT") );
+ // differences.add( new RemoveSuperiorATDifference(null, null, "supAT") );
+ // differences.add( new AddSuperiorOCDifference(null, null, "supOC") );
+ // differences.add( new RemoveSuperiorOCDifference(null, null, "supOC") );
+ // differences.add( new AddSyntaxDifference(null, null, "syntax") );
+ // differences.add( new ModifySyntaxDifference(null, null, "syntax1", "syntax2") );
+ // differences.add( new RemoveSyntaxDifference(null, null, "syntax") );
+ // differences.add( new AddSyntaxLengthDifference(null, null, 1234) );
+ // differences.add( new ModifySyntaxLengthDifference(null, null, 1234, 12345) );
+ // differences.add( new RemoveSyntaxLengthDifference(null, null, 1234) );
+ // differences.add( new ModifyClassTypeDifference(null, null, ObjectClassTypeEnum.AUXILIARY, ObjectClassTypeEnum.ABSTRACT) );
+ // differences.add( new ModifyCollectiveDifference(null, null, false, true) );
+ // differences.add( new ModifyNoUserModificationDifference(null, null, true, false) );
+ // differences.add( new ModifyObsoleteDifference(null, null, true, false) );
+ // differences.add( new ModifySingleValueDifference(null, null, true, false) );
+ // differences.add( new ModifyUsageDifference(null, null, UsageEnum.DISTRIBUTED_OPERATION, UsageEnum.DSA_OPERATION) );
+ // differencesWidget.setInput( differences );
}
@@ -118,12 +118,12 @@
*/
private void initViewer( Composite parent )
{
- viewer = new TreeViewer( parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER );
- contentProvider = new SchemaViewContentProvider( viewer );
- viewer.setContentProvider( contentProvider );
- viewer.setLabelProvider( new DecoratingLabelProvider( new SchemaViewLabelProvider(), Activator.getDefault()
+ treeViewer = new TreeViewer( parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER );
+ contentProvider = new SchemaViewContentProvider( treeViewer );
+ treeViewer.setContentProvider( contentProvider );
+ treeViewer.setLabelProvider( new DecoratingLabelProvider( new SchemaViewLabelProvider(), Activator.getDefault()
.getWorkbench().getDecoratorManager().getLabelDecorator() ) );
- viewer.setInput( new SchemaViewRoot() );
+ treeViewer.setInput( new SchemaViewRoot() );
}
@@ -132,8 +132,7 @@
*/
public void setFocus()
{
- // TODO Auto-generated method stub
-
+ treeViewer.getTree().setFocus();
}
@@ -145,7 +144,7 @@
*/
public TreeViewer getViewer()
{
- return viewer;
+ return treeViewer;
}
@@ -154,6 +153,6 @@
*/
public void reloadViewer()
{
- viewer.setInput( new SchemaViewRoot() );
+ treeViewer.setInput( new SchemaViewRoot() );
}
}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/Folder.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/Folder.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/Folder.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/Folder.java Mon Jul 9 07:35:09 2007
@@ -17,7 +17,7 @@
*/
public enum FolderType
{
- NONE, ATTRIBUTE_TYPE, OBJECT_CLASS
+ NONE, ATTRIBUTE_TYPE, OBJECT_CLASS, ERROR, WARNING
}
/** The type of the Folder */
@@ -25,9 +25,11 @@
/** The name of the Folder */
private String name = "";
-
+
private static final String NAME_AT = "Attribute Types";
private static final String NAME_OC = "Object Classes";
+ private static final String NAME_ERROR = "Errors";
+ private static final String NAME_WARNING = "Warnings";
/**
@@ -42,7 +44,7 @@
{
super( parent );
this.type = type;
-
+
switch ( type )
{
case ATTRIBUTE_TYPE:
@@ -50,6 +52,12 @@
break;
case OBJECT_CLASS:
name = NAME_OC;
+ break;
+ case ERROR:
+ name = NAME_ERROR;
+ break;
+ case WARNING:
+ name = NAME_WARNING;
break;
}
}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/ProblemsViewRoot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/ProblemsViewRoot.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/ProblemsViewRoot.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/ProblemsViewRoot.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view.wrappers;
+
+
+/**
+ * This wrapper is used as root in the Problems View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ProblemsViewRoot extends AbstractTreeNode
+{
+ /**
+ * Creates a new instance of ProblemsViewRoot.
+ */
+ public ProblemsViewRoot()
+ {
+ super( null );
+ }
+}
Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaErrorWrapper.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaErrorWrapper.java?view=auto&rev=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaErrorWrapper.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaErrorWrapper.java Mon Jul 9 07:35:09 2007
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.view.wrappers;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.model.schemachecker.SchemaError;
+
+
+/**
+ * This class is used to wrap a SchemaError in a TreeViewer.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class SchemaErrorWrapper extends AbstractTreeNode
+{
+ /** The wrapped SchemaError */
+ private SchemaError schemaError;
+
+
+ /**
+ * Creates a new instance of SchemaErrorWrapper.
+ *
+ * @param error
+ * the wrapped SchemaError
+ */
+ public SchemaErrorWrapper( SchemaError error )
+ {
+ super( null );
+ schemaError = error;
+ }
+
+
+ /**
+ * Creates a new instance of SchemaErrorWrapper.
+ *
+ * @param error
+ * the wrapped SchemaError
+ * @param parent
+ * the parent TreeNode
+ */
+ public SchemaErrorWrapper( SchemaError error, TreeNode parent )
+ {
+ super( parent );
+ schemaError = error;
+ }
+
+
+ /**
+ * Gets the wrapped SchemaError.
+ *
+ * @return
+ * the wrapped SchemaError
+ */
+ public SchemaError getSchemaError()
+ {
+ return schemaError;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.AbstractTreeNode#hasChildren()
+ */
+ public boolean hasChildren()
+ {
+ return false;
+ }
+}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaViewRoot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaViewRoot.java?view=diff&rev=554663&r1=554662&r2=554663
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaViewRoot.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wrappers/SchemaViewRoot.java Mon Jul 9 07:35:09 2007
@@ -1,6 +1,31 @@
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
package org.apache.directory.studio.apacheds.schemaeditor.view.wrappers;
+
+/**
+ * This wrapper is used as root in the Schema View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
public class SchemaViewRoot extends AbstractTreeNode
{
/**