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/27 18:04:48 UTC

svn commit: r570172 - in /directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor: ./ model/ model/io/

Author: pamarcelot
Date: Mon Aug 27 09:04:47 2007
New Revision: 570172

URL: http://svn.apache.org/viewvc?rev=570172&view=rev
Log:
Updated Activator to start listening on the ProjectsHandler in the start(...) method.
Improved ProjectImporter and ProjectExporter to import/export the Schema Backup

Modified:
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/Activator.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/Project.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/OnlineSchemaImporter.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsExporter.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsImporter.java

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/Activator.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/Activator.java?rev=570172&r1=570171&r2=570172&view=diff
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/Activator.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/Activator.java Mon Aug 27 09:04:47 2007
@@ -76,39 +76,6 @@
     {
         plugin = this;
         projectsHandler = ProjectsHandler.getInstance();
-        projectsHandler.addListener( new ProjectsHandlerListener()
-        {
-            public void openProjectChanged( Project oldProject, Project newProject )
-            {
-                closeProjectEditors();
-
-                if ( newProject == null )
-                {
-                    schemaHandler = null;
-                    schemaChecker = null;
-                }
-                else
-                {
-                    // Registering the SchemaHandler and SchemaChecker
-                    schemaHandler = newProject.getSchemaHandler();
-                    schemaChecker = newProject.getSchemaChecker();
-                }
-
-                PluginUtils.saveProjects();
-            }
-
-
-            public void projectAdded( Project project )
-            {
-                PluginUtils.saveProjects();
-            }
-
-
-            public void projectRemoved( Project project )
-            {
-                PluginUtils.saveProjects();
-            }
-        } );
     }
 
 
@@ -151,6 +118,40 @@
 
         // Loading the projects
         PluginUtils.loadProjects();
+
+        projectsHandler.addListener( new ProjectsHandlerListener()
+        {
+            public void openProjectChanged( Project oldProject, Project newProject )
+            {
+                closeProjectEditors();
+
+                if ( newProject == null )
+                {
+                    schemaHandler = null;
+                    schemaChecker = null;
+                }
+                else
+                {
+                    // Registering the SchemaHandler and SchemaChecker
+                    schemaHandler = newProject.getSchemaHandler();
+                    schemaChecker = newProject.getSchemaChecker();
+                }
+
+                PluginUtils.saveProjects();
+            }
+
+
+            public void projectAdded( Project project )
+            {
+                PluginUtils.saveProjects();
+            }
+
+
+            public void projectRemoved( Project project )
+            {
+                PluginUtils.saveProjects();
+            }
+        } );
     }
 
 

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/Project.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/Project.java?rev=570172&r1=570171&r2=570172&view=diff
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/Project.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/Project.java Mon Aug 27 09:04:47 2007
@@ -270,6 +270,7 @@
                 getSchemaHandler().addSchema( schema );
             }
 
+            // TODO Add error Handling
             monitor.done();
             hasOnlineSchemaBeenFetched = true;
         }
@@ -285,6 +286,30 @@
     public boolean hasOnlineSchemaBeenFetched()
     {
         return hasOnlineSchemaBeenFetched;
+    }
+
+
+    /**
+     * Gets the Schema Backup.
+     *
+     * @return
+     *      the Schema Backup
+     */
+    public List<Schema> getSchemaBackup()
+    {
+        return schemaBackup;
+    }
+
+
+    /**
+     * Sets the Schema Backup
+     *
+     * @param schemaBackup
+     *      the Schema Backup
+     */
+    public void setSchemaBackup( List<Schema> schemaBackup )
+    {
+        this.schemaBackup = schemaBackup;
     }
 
 

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/OnlineSchemaImporter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/OnlineSchemaImporter.java?rev=570172&r1=570171&r2=570172&view=diff
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/OnlineSchemaImporter.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/OnlineSchemaImporter.java Mon Aug 27 09:04:47 2007
@@ -82,6 +82,7 @@
      * @param monitor 
      * @throws NamingException 
      */
+    @SuppressWarnings("unchecked")
     public static List<Schema> getOnlineSchema( JNDIConnectionWrapper wrapper, StudioProgressMonitor monitor )
         throws NamingException
     {
@@ -118,6 +119,7 @@
     }
 
 
+    @SuppressWarnings("unchecked")
     private static Schema getSchema( JNDIConnectionWrapper wrapper, String name, StudioProgressMonitor monitor )
         throws NamingException
     {

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsExporter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsExporter.java?rev=570172&r1=570171&r2=570172&view=diff
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsExporter.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsExporter.java Mon Aug 27 09:04:47 2007
@@ -20,6 +20,8 @@
 package org.apache.directory.studio.apacheds.schemaeditor.model.io;
 
 
+import java.util.List;
+
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.TransformerException;
@@ -52,6 +54,7 @@
     private static final String NAME_TAG = "name";
     private static final String TYPE_TAG = "type";
     private static final String CONNECTION_TAG = "connection";
+    private static final String SCHEMA_BACKUP_TAG = "schemaBackup";
 
 
     /**
@@ -131,10 +134,20 @@
                 element.addAttribute( TYPE_TAG, type.toString() );
             }
 
-            // Connection Name
+            // If project is an Apache Directory Server Online Schema Project
             if ( type.equals( ProjectType.APACHE_DIRECTORY_SERVER ) )
             {
+                // Connection Name
                 element.addAttribute( CONNECTION_TAG, project.getConnection().getName() );
+
+                // Schema Backup
+                Element schemaBackupElement = element.addElement( SCHEMA_BACKUP_TAG );
+                List<Schema> backupSchemas = project.getSchemaBackup();
+                if ( backupSchemas != null )
+                {
+                    XMLSchemaFileExporter.addSchemas( backupSchemas.toArray( new Schema[0] ), schemaBackupElement );
+                }
+
             }
 
             // Schemas

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsImporter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsImporter.java?rev=570172&r1=570171&r2=570172&view=diff
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsImporter.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/model/io/ProjectsImporter.java Mon Aug 27 09:04:47 2007
@@ -21,6 +21,7 @@
 
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -50,6 +51,7 @@
     private static final String SCHEMAS_TAG = "schemas";
     private static final String TYPE_TAG = "type";
     private static final String CONNECTION_TAG = "connection";
+    private static final String SCHEMA_BACKUP_TAG = "schemaBackup";
 
 
     /**
@@ -167,13 +169,36 @@
             }
         }
 
-        // Connection
+        // If project is an Apache Directory Server Online Schema Project
         if ( project.getType().equals( ProjectType.APACHE_DIRECTORY_SERVER ) )
         {
+            // Connection
             Attribute connectionAttribute = element.attribute( CONNECTION_TAG );
             if ( ( connectionAttribute != null ) && ( !connectionAttribute.getValue().equals( "" ) ) )
             {
                 project.setConnection( PluginUtils.getConnection( connectionAttribute.getText() ) );
+            }
+
+            // SchemaBackup
+            Element schemaBackupElement = element.element( SCHEMA_BACKUP_TAG );
+            if ( schemaBackupElement != null )
+            {
+                Element schemasElement = schemaBackupElement.element( SCHEMAS_TAG );
+                if ( schemasElement != null )
+                {
+                    Schema[] schemas = null;
+                    try
+                    {
+                        schemas = XMLSchemaFileImporter.readSchemas( schemasElement, path );
+                    }
+                    catch ( XMLSchemaFileImportException e )
+                    {
+                        throw new ProjectsImportException(
+                            "The parser was not able to convert the schemas of the project." );
+                    }
+
+                    project.setSchemaBackup( Arrays.asList( schemas ) );
+                }
             }
         }