You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2011/12/07 14:01:22 UTC
svn commit: r1211420 - in
/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor:
model/ model/io/ view/wizards/
Author: pamarcelot
Date: Wed Dec 7 13:01:21 2011
New Revision: 1211420
URL: http://svn.apache.org/viewvc?rev=1211420&view=rev
Log:
Fix for DIRSTUDIO-752 (Improve fault tolerance when reading an online schema from a connection).
Added:
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnectorException.java
Modified:
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/Project.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ApacheDsSchemaConnector.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/GenericSchemaConnector.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnector.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages.properties
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_de.properties
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_fr.properties
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewProjectWizard.java
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages.properties
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_de.properties
directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_fr.properties
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/Project.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/Project.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/Project.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/Project.java Wed Dec 7 13:01:21 2011
@@ -26,6 +26,7 @@ import org.apache.directory.studio.commo
import org.apache.directory.studio.connection.core.Connection;
import org.apache.directory.studio.schemaeditor.controller.SchemaHandler;
import org.apache.directory.studio.schemaeditor.model.io.SchemaConnector;
+import org.apache.directory.studio.schemaeditor.model.io.SchemaConnectorException;
/**
@@ -66,8 +67,8 @@ public class Project
/** The SchemaHandler */
private SchemaHandler schemaHandler;
- /** The backup of the Online Schema */
- private List<Schema> schemaBackup;
+ /** The initial schema of the Online Schema */
+ private List<Schema> initialSchema;
/** The flag for Online Schema Fetch */
private boolean hasOnlineSchemaBeenFetched = false;
@@ -246,24 +247,27 @@ public class Project
{
if ( ( !hasOnlineSchemaBeenFetched ) && ( connection != null ) && ( schemaConnector != null ) )
{
- schemaBackup = schemaConnector.importSchema( connection, monitor );
- for ( Schema schema : schemaBackup )
+ try
{
- schema.setProject( this );
+ schemaConnector.importSchema( this, monitor );
+ }
+ catch ( SchemaConnectorException e )
+ {
+ monitor.reportError( e );
}
- if ( schemaBackup != null )
+ // Adding each schema to the schema handler
+ if ( initialSchema != null )
{
- monitor.beginTask( Messages.getString( "Project.AddingSchemaToProject" ), schemaBackup.size() ); //$NON-NLS-1$
- for ( Schema schema : schemaBackup )
+ monitor.beginTask( Messages.getString( "Project.AddingSchemaToProject" ), initialSchema.size() ); //$NON-NLS-1$
+ for ( Schema schema : initialSchema )
{
getSchemaHandler().addSchema( schema );
}
}
- // TODO Add error Handling
- monitor.done();
hasOnlineSchemaBeenFetched = true;
+ monitor.done();
}
}
@@ -281,26 +285,24 @@ public class Project
/**
- * Gets the Schema Backup.
+ * Gets the initial schema.
*
- * @return
- * the Schema Backup
+ * @return the initial schema
*/
- public List<Schema> getSchemaBackup()
+ public List<Schema> getInitialSchema()
{
- return schemaBackup;
+ return initialSchema;
}
/**
- * Sets the Schema Backup
+ * Sets the initial schema.
*
- * @param schemaBackup
- * the Schema Backup
+ * @param initialSchema the initial schema
*/
- public void setSchemaBackup( List<Schema> schemaBackup )
+ public void setInitialSchema( List<Schema> initialSchema )
{
- this.schemaBackup = schemaBackup;
+ this.initialSchema = initialSchema;
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ApacheDsSchemaConnector.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ApacheDsSchemaConnector.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ApacheDsSchemaConnector.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ApacheDsSchemaConnector.java Wed Dec 7 13:01:21 2011
@@ -40,6 +40,7 @@ import org.apache.directory.studio.conne
import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
import org.apache.directory.studio.connection.core.io.ConnectionWrapper;
+import org.apache.directory.studio.schemaeditor.model.Project;
import org.apache.directory.studio.schemaeditor.model.Schema;
@@ -79,23 +80,13 @@ public class ApacheDsSchemaConnector ext
/**
* {@inheritDoc}
*/
- public void exportSchema( Connection connection, StudioProgressMonitor monitor )
- {
- // TODO Auto-generated method stub
-
- }
-
-
- /**
- * {@inheritDoc}
- */
- public List<Schema> importSchema( Connection connection, StudioProgressMonitor monitor )
+ public void importSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException
{
+ monitor.beginTask( Messages.getString( "ApacheDsSchemaConnector.FetchingSchema" ), 1 ); //$NON-NLS-1$
List<Schema> schemas = new ArrayList<Schema>();
-
- ConnectionWrapper wrapper = connection.getConnectionWrapper();
-
- monitor.beginTask( Messages.getString( "GenericSchemaConnector.FetchingSchema" ), 1 ); //$NON-NLS-1$
+ project.setInitialSchema( schemas );
+ ConnectionWrapper wrapper = project.getConnection().getConnectionWrapper();
// Looking for all the defined schemas
SearchControls constraintSearch = new SearchControls();
@@ -122,21 +113,20 @@ public class ApacheDsSchemaConnector ext
{
while ( ne.hasMore() )
{
- String value = ( String ) ne.next();
- schemas.add( getSchema( wrapper, value, monitor ) );
+ Schema schema = getSchema( wrapper, ( String ) ne.next(), monitor );
+ schema.setProject( project );
+ schemas.add( schema );
}
}
}
}
- catch ( NamingException e )
+ catch ( Exception e )
{
- monitor.reportError( e );
+ throw new SchemaConnectorException( e );
}
}
monitor.worked( 1 );
-
- return schemas;
}
@@ -906,4 +896,14 @@ public class ApacheDsSchemaConnector ext
return Boolean.parseBoolean( ( String ) at.get() );
}
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void exportSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException
+ {
+ // TODO Auto-generated method stub
+ }
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/GenericSchemaConnector.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/GenericSchemaConnector.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/GenericSchemaConnector.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/GenericSchemaConnector.java Wed Dec 7 13:01:21 2011
@@ -44,7 +44,10 @@ import org.apache.directory.studio.conne
import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
import org.apache.directory.studio.connection.core.Utils;
import org.apache.directory.studio.connection.core.io.ConnectionWrapper;
+import org.apache.directory.studio.schemaeditor.PluginUtils;
+import org.apache.directory.studio.schemaeditor.model.Project;
import org.apache.directory.studio.schemaeditor.model.Schema;
+import org.eclipse.osgi.util.NLS;
/**
@@ -61,56 +64,48 @@ public class GenericSchemaConnector exte
/**
* {@inheritDoc}
*/
- public void exportSchema( Connection connection, StudioProgressMonitor monitor )
+ public void importSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException
{
- // TODO Auto-generated method stub
- }
-
-
- /**
- * {@inheritDoc}
- */
- public List<Schema> importSchema( Connection connection, StudioProgressMonitor monitor )
- {
- List<Schema> schemas = new ArrayList<Schema>();
-
- ConnectionWrapper wrapper = connection.getConnectionWrapper();
-
monitor.beginTask( Messages.getString( "GenericSchemaConnector.FetchingSchema" ), 1 ); //$NON-NLS-1$
+ List<Schema> schemas = new ArrayList<Schema>();
+ project.setInitialSchema( schemas );
+ ConnectionWrapper wrapper = project.getConnection().getConnectionWrapper();
SearchControls constraintSearch = new SearchControls();
constraintSearch.setSearchScope( SearchControls.OBJECT_SCOPE );
constraintSearch.setReturningAttributes( new String[]
{ "attributeTypes", "objectClasses", "ldapSyntaxes", "matchingRules" } );
- String schemaDn = getSubschemaSubentry( connection, monitor );
+ String schemaDn = getSubschemaSubentry( wrapper, monitor );
NamingEnumeration<SearchResult> answer = wrapper.search( schemaDn, "(objectclass=subschema)", constraintSearch,
DEREF_ALIAS_METHOD, HANDLE_REFERALS_METHOD, null, ( StudioProgressMonitor ) monitor, null );
if ( answer != null )
{
try
{
+ // Looping the results
while ( answer.hasMore() )
{
- SearchResult searchResult = ( SearchResult ) answer.next();
- try
- {
- schemas.add( getSchema( wrapper, searchResult, monitor ) );
- }
- catch ( Exception e )
- {
- monitor.reportError( e );
- }
+ // Creating the schema
+ Schema schema = new Schema( "schema" ); //$NON-NLS-1$
+ schema.setProject( project );
+ schemas.add( schema );
+
+ getSchema( schema, wrapper, ( SearchResult ) answer.next(), monitor );
}
+
}
- catch ( NamingException e )
+ catch ( SchemaConnectorException e )
{
- monitor.reportError( e );
+ throw e;
+ }
+ catch ( Exception e )
+ {
+ throw new SchemaConnectorException( e );
}
}
monitor.worked( 1 );
-
- return schemas;
}
@@ -119,14 +114,12 @@ public class GenericSchemaConnector exte
*/
public boolean isSuitableConnector( Connection connection, StudioProgressMonitor monitor )
{
- return getSubschemaSubentry( connection, monitor ) != null;
+ return getSubschemaSubentry( connection.getConnectionWrapper(), monitor ) != null;
}
- private static String getSubschemaSubentry( Connection connection, StudioProgressMonitor monitor )
+ private static String getSubschemaSubentry( ConnectionWrapper wrapper, StudioProgressMonitor monitor )
{
- ConnectionWrapper wrapper = connection.getConnectionWrapper();
-
SearchControls constraintSearch = new SearchControls();
constraintSearch.setSearchScope( SearchControls.OBJECT_SCOPE );
constraintSearch.setReturningAttributes( new String[]
@@ -177,11 +170,11 @@ public class GenericSchemaConnector exte
}
- private static Schema getSchema( ConnectionWrapper wrapper, SearchResult searchResult,
- StudioProgressMonitor monitor ) throws NamingException, ParseException
+ private static void getSchema( Schema schema, ConnectionWrapper wrapper, SearchResult searchResult,
+ StudioProgressMonitor monitor ) throws NamingException, SchemaConnectorException
{
- // Creating the schema
- Schema schema = new Schema( "schema" ); //$NON-NLS-1$
+ // The counter for parser exceptions
+ int parseErrorCount = 0;
Attribute attributeTypesAttribute = searchResult.getAttributes().get( "attributeTypes" );
if ( attributeTypesAttribute != null )
@@ -192,33 +185,44 @@ public class GenericSchemaConnector exte
while ( ne.hasMoreElements() )
{
String value = ( String ) ne.nextElement();
- AttributeTypeDescriptionSchemaParser parser = new AttributeTypeDescriptionSchemaParser();
- parser.setQuirksMode( true );
- AttributeType atd = parser.parseAttributeTypeDescription( value );
-
- AttributeType impl = new AttributeType( atd.getOid() );
- impl.setNames( atd.getNames().toArray( new String[0] ) );
- impl.setDescription( atd.getDescription() );
- impl.setSuperiorOid( atd.getSuperiorOid() );
- impl.setUsage( atd.getUsage() );
- impl.setSyntaxOid( atd.getSyntaxOid() );
- impl.setSyntaxLength( atd.getSyntaxLength() );
- impl.setObsolete( atd.isObsolete() );
- impl.setCollective( atd.isCollective() );
- impl.setSingleValued( atd.isSingleValued() );
- impl.setUserModifiable( atd.isUserModifiable() );
- impl.setEqualityOid( atd.getEqualityOid() );
- impl.setOrderingOid( atd.getOrderingOid() );
- impl.setSubstringOid( atd.getSubstringOid() );
- impl.setSchemaName( schema.getSchemaName() );
- // Active Directory hack
- if ( impl.getSyntaxOid() != null && "OctetString".equalsIgnoreCase( impl.getSyntaxOid() ) ) //$NON-NLS-1$
+ try
{
- impl.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.40" );
- }
+ AttributeTypeDescriptionSchemaParser parser = new AttributeTypeDescriptionSchemaParser();
+ parser.setQuirksMode( true );
+
+ AttributeType atd = parser.parseAttributeTypeDescription( value );
+
+ AttributeType impl = new AttributeType( atd.getOid() );
+ impl.setNames( atd.getNames().toArray( new String[0] ) );
+ impl.setDescription( atd.getDescription() );
+ impl.setSuperiorOid( atd.getSuperiorOid() );
+ impl.setUsage( atd.getUsage() );
+ impl.setSyntaxOid( atd.getSyntaxOid() );
+ impl.setSyntaxLength( atd.getSyntaxLength() );
+ impl.setObsolete( atd.isObsolete() );
+ impl.setCollective( atd.isCollective() );
+ impl.setSingleValued( atd.isSingleValued() );
+ impl.setUserModifiable( atd.isUserModifiable() );
+ impl.setEqualityOid( atd.getEqualityOid() );
+ impl.setOrderingOid( atd.getOrderingOid() );
+ impl.setSubstringOid( atd.getSubstringOid() );
+ impl.setSchemaName( schema.getSchemaName() );
+
+ // Active Directory hack
+ if ( impl.getSyntaxOid() != null && "OctetString".equalsIgnoreCase( impl.getSyntaxOid() ) ) //$NON-NLS-1$
+ {
+ impl.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.40" );
+ }
- schema.addAttributeType( impl );
+ schema.addAttributeType( impl );
+ }
+ catch ( ParseException e )
+ {
+ // Logging the exception and incrementing the counter
+ PluginUtils.logError( "Unable to parse the attribute type.", e );
+ parseErrorCount++;
+ }
}
}
}
@@ -232,21 +236,31 @@ public class GenericSchemaConnector exte
while ( ne.hasMoreElements() )
{
String value = ( String ) ne.nextElement();
- ObjectClassDescriptionSchemaParser parser = new ObjectClassDescriptionSchemaParser();
- parser.setQuirksMode( true );
- ObjectClass ocd = parser.parseObjectClassDescription( value );
-
- ObjectClass impl = new ObjectClass( ocd.getOid() );
- impl.setNames( ocd.getNames().toArray( new String[0] ) );
- impl.setDescription( ocd.getDescription() );
- impl.setSuperiorOids( ocd.getSuperiorOids() );
- impl.setType( ocd.getType() );
- impl.setObsolete( ocd.isObsolete() );
- impl.setMustAttributeTypeOids( ocd.getMustAttributeTypeOids() );
- impl.setMayAttributeTypeOids( ocd.getMayAttributeTypeOids() );
- impl.setSchemaName( schema.getSchemaName() );
- schema.addObjectClass( impl );
+ try
+ {
+ ObjectClassDescriptionSchemaParser parser = new ObjectClassDescriptionSchemaParser();
+ parser.setQuirksMode( true );
+ ObjectClass ocd = parser.parseObjectClassDescription( value );
+
+ ObjectClass impl = new ObjectClass( ocd.getOid() );
+ impl.setNames( ocd.getNames().toArray( new String[0] ) );
+ impl.setDescription( ocd.getDescription() );
+ impl.setSuperiorOids( ocd.getSuperiorOids() );
+ impl.setType( ocd.getType() );
+ impl.setObsolete( ocd.isObsolete() );
+ impl.setMustAttributeTypeOids( ocd.getMustAttributeTypeOids() );
+ impl.setMayAttributeTypeOids( ocd.getMayAttributeTypeOids() );
+ impl.setSchemaName( schema.getSchemaName() );
+
+ schema.addObjectClass( impl );
+ }
+ catch ( ParseException e )
+ {
+ // Logging the exception and incrementing the counter
+ PluginUtils.logError( "Unable to parse the object class.", e );
+ parseErrorCount++;
+ }
}
}
}
@@ -260,22 +274,33 @@ public class GenericSchemaConnector exte
while ( ne.hasMoreElements() )
{
String value = ( String ) ne.nextElement();
- LdapSyntaxDescriptionSchemaParser parser = new LdapSyntaxDescriptionSchemaParser();
- parser.setQuirksMode( true );
- LdapSyntax lsd = parser.parseLdapSyntaxDescription( value );
-
- LdapSyntax impl = new LdapSyntax( lsd.getOid() );
- impl.setDescription( lsd.getDescription() );
- impl.setNames( new String[]
- { lsd.getDescription() } );
- //impl.setObsolete( lsd.isObsolete() );
- impl.setHumanReadable( true );
- impl.setSchemaName( schema.getSchemaName() );
- schema.addSyntax( impl );
+ try
+ {
+ LdapSyntaxDescriptionSchemaParser parser = new LdapSyntaxDescriptionSchemaParser();
+ parser.setQuirksMode( true );
+ LdapSyntax lsd = parser.parseLdapSyntaxDescription( value );
+
+ LdapSyntax impl = new LdapSyntax( lsd.getOid() );
+ impl.setDescription( lsd.getDescription() );
+ impl.setNames( new String[]
+ { lsd.getDescription() } );
+ //impl.setObsolete( lsd.isObsolete() );
+ impl.setHumanReadable( true );
+ impl.setSchemaName( schema.getSchemaName() );
+
+ schema.addSyntax( impl );
+ }
+ catch ( ParseException e )
+ {
+ // Logging the exception and incrementing the counter
+ PluginUtils.logError( "Unable to parse the syntax.", e );
+ parseErrorCount++;
+ }
}
}
}
+
// if online: assume all received syntaxes in attributes are valid -> create dummy syntaxes if missing
for ( AttributeType at : schema.getAttributeTypes() )
{
@@ -301,21 +326,32 @@ public class GenericSchemaConnector exte
while ( ne.hasMoreElements() )
{
String value = ( String ) ne.nextElement();
- MatchingRuleDescriptionSchemaParser parser = new MatchingRuleDescriptionSchemaParser();
- parser.setQuirksMode( true );
- MatchingRule mrd = parser.parseMatchingRuleDescription( value );
-
- MatchingRule impl = new MatchingRule( mrd.getOid() );
- impl.setDescription( mrd.getDescription() );
- impl.setNames( mrd.getNames().toArray( new String[0] ) );
- impl.setObsolete( mrd.isObsolete() );
- impl.setSyntaxOid( mrd.getSyntaxOid() );
- impl.setSchemaName( schema.getSchemaName() );
- schema.addMatchingRule( impl );
+ try
+ {
+ MatchingRuleDescriptionSchemaParser parser = new MatchingRuleDescriptionSchemaParser();
+ parser.setQuirksMode( true );
+ MatchingRule mrd = parser.parseMatchingRuleDescription( value );
+
+ MatchingRule impl = new MatchingRule( mrd.getOid() );
+ impl.setDescription( mrd.getDescription() );
+ impl.setNames( mrd.getNames().toArray( new String[0] ) );
+ impl.setObsolete( mrd.isObsolete() );
+ impl.setSyntaxOid( mrd.getSyntaxOid() );
+ impl.setSchemaName( schema.getSchemaName() );
+
+ schema.addMatchingRule( impl );
+ }
+ catch ( ParseException e )
+ {
+ // Logging the exception and incrementing the counter
+ PluginUtils.logError( "Unable to parse the matching rule.", e );
+ parseErrorCount++;
+ }
}
}
}
+
// if online: assume all received matching rules in attributes are valid -> create dummy matching rules if missing
for ( AttributeType at : schema.getAttributeTypes() )
{
@@ -325,7 +361,22 @@ public class GenericSchemaConnector exte
checkMatchingRules( schema, equalityName, orderingName, substrName );
}
- return schema;
+ // Showing an error
+ if ( parseErrorCount > 0 )
+ {
+ if ( parseErrorCount == 1 )
+ {
+ throw new SchemaConnectorException(
+ Messages.getString( "GenericSchemaConnector.OneSchemaElementCouldNotBeParsedError" ) ); //$NON-NLS-1$
+
+ }
+ else
+ {
+ throw new SchemaConnectorException( NLS.bind(
+ Messages.getString( "GenericSchemaConnector.MultipleSchemaElementsCouldNotBeParsedError" ), //$NON-NLS-1$
+ parseErrorCount ) );
+ }
+ }
}
@@ -345,4 +396,13 @@ public class GenericSchemaConnector exte
}
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public void exportSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException
+ {
+ // TODO Auto-generated method stub
+ }
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsExporter.java Wed Dec 7 13:01:21 2011
@@ -136,7 +136,7 @@ public class ProjectsExporter
// Schema Backup
Element schemaBackupElement = element.addElement( SCHEMA_BACKUP_TAG );
- List<Schema> backupSchemas = project.getSchemaBackup();
+ List<Schema> backupSchemas = project.getInitialSchema();
if ( backupSchemas != null )
{
XMLSchemaFileExporter.addSchemas( backupSchemas.toArray( new Schema[0] ), schemaBackupElement );
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/ProjectsImporter.java Wed Dec 7 13:01:21 2011
@@ -242,7 +242,7 @@ public class ProjectsImporter
throw new ProjectsImportException( Messages.getString( "ProjectsImporter.NotConvertableSchema" ) ); //$NON-NLS-1$
}
- project.setSchemaBackup( Arrays.asList( schemas ) );
+ project.setInitialSchema( Arrays.asList( schemas ) );
}
}
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnector.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnector.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnector.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnector.java Wed Dec 7 13:01:21 2011
@@ -20,11 +20,9 @@
package org.apache.directory.studio.schemaeditor.model.io;
-import java.util.List;
-
import org.apache.directory.studio.common.core.jobs.StudioProgressMonitor;
import org.apache.directory.studio.connection.core.Connection;
-import org.apache.directory.studio.schemaeditor.model.Schema;
+import org.apache.directory.studio.schemaeditor.model.Project;
/**
@@ -50,29 +48,31 @@ public interface SchemaConnector
/**
- * Imports the Schema of the LDAP Server using the given connection and
+ * Imports the Schema of the LDAP Server using the given project and
* progress monitor.
*
- * @param connection
- * the connection
+ * @param project
+ * the project
* @param monitor
* the progress monitor
- * @return
- * the list of schemas of the LDAP Server
+ * @throws SchemaConnectorException
*/
- public List<Schema> importSchema( Connection connection, StudioProgressMonitor monitor );
+ public void importSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException;
/**
* Exports the Schema to the LDAP Server using the given connection and
* progress monitor.
*
- * @param connection
- * the connection
+ * @param project
+ * the project
* @param monitor
* the progress monitor
+ * @throws SchemaConnectorException
*/
- public void exportSchema( Connection connection, StudioProgressMonitor monitor );
+ public void exportSchema( Project project, StudioProgressMonitor monitor )
+ throws SchemaConnectorException;
/**
Added: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnectorException.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnectorException.java?rev=1211420&view=auto
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnectorException.java (added)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/SchemaConnectorException.java Wed Dec 7 13:01:21 2011
@@ -0,0 +1,55 @@
+/*
+ * 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.schemaeditor.model.io;
+
+
+/**
+ * This class represents the SchemaConnectorException.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class SchemaConnectorException extends Exception
+{
+ private static final long serialVersionUID = 1L;
+
+
+ public SchemaConnectorException()
+ {
+ super();
+ }
+
+
+ public SchemaConnectorException( String message, Throwable throwable )
+ {
+ super( message, throwable );
+ }
+
+
+ public SchemaConnectorException( String message )
+ {
+ super( message );
+ }
+
+
+ public SchemaConnectorException( Throwable throwable )
+ {
+ super( throwable );
+ }
+}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages.properties Wed Dec 7 13:01:21 2011
@@ -15,7 +15,10 @@
# specific language governing permissions and limitations
# under the License.
+ApacheDsSchemaConnector.FetchingSchema=Fetching Schema
GenericSchemaConnector.FetchingSchema=Fetching Schema
+GenericSchemaConnector.OneSchemaElementCouldNotBeParsedError=One schema element could not be parsed correctly and has been ignored.
+GenericSchemaConnector.MultipleSchemaElementsCouldNotBeParsedError={0} schema elements could not be parsed correctly and have been ignored.
OpenLdapSchemaFileImporter.ErrorMessage=Line\: {0}, column\: {1}, cause\: {2}
OpenLdapSchemaFileImporter.NotReadCorrectly=The file "{0}" can not be read correctly.
ProjectsImporter.NoSchemaConnectorIDFound=The parser was not able to find the SchemaConnector with ID "{0}".
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_de.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_de.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_de.properties Wed Dec 7 13:01:21 2011
@@ -15,7 +15,10 @@
# specific language governing permissions and limitations
# under the License.
+ApacheDsSchemaConnector.FetchingSchema=Lese Schema
GenericSchemaConnector.FetchingSchema=Lese Schema
+GenericSchemaConnector.OneSchemaElementCouldNotBeParsedError=TODO:One schema element could not be parsed correctly and has been ignored.
+GenericSchemaConnector.MultipleSchemaElementsCouldNotBeParsedError=TODO:{0} schema elements could not be parsed correctly and have been ignored.
OpenLdapSchemaFileImporter.ErrorMessage=Zeile\: {0}, Spalte\: {1}, Grund\: {2}
OpenLdapSchemaFileImporter.NotReadCorrectlyBegin=Die Datei "{0}" konnte nicht korrekt gelesen werden.
ProjectsImporter.NoSchemaConnectorIDFound=Der Parser war nicht in der Lage, den SchemaConnector mit der OID "{0}" zu finden.
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_fr.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_fr.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/io/messages_fr.properties Wed Dec 7 13:01:21 2011
@@ -15,7 +15,10 @@
# specific language governing permissions and limitations
# under the License.
+ApacheDsSchemaConnector.FetchingSchema=R\u00E9cup\u00E9ration du sch\u00E9ma
GenericSchemaConnector.FetchingSchema=R\u00E9cup\u00E9ration du sch\u00E9ma
+GenericSchemaConnector.OneSchemaElementCouldNotBeParsedError=Un \u00E9l\u00E9ment de sch\u00E9ma n'a pu \u00EAtre correctement lu et a \u00E9t\u00E9 ignor\u00E9.
+GenericSchemaConnector.MultipleSchemaElementsCouldNotBeParsedError={0} \u00E9l\u00E9ments de sch\u00E9ma n'ont pu \u00EAtre correctement lus et ont \u00E9t\u00E9 ignor\u00E9s.
OpenLdapSchemaFileImporter.ErrorMessage=Ligne : {0}, colonne : {1}, cause : {2}
OpenLdapSchemaFileImporter.NotReadCorrectly=Le fichier "{0}" ne peut pas \u00EAtre lu.
ProjectsImporter.NoSchemaConnectorIDFound=Le parseur n'a pas \u00E9t\u00E9 capable de trouver le SchemaConnector avec l'ID "{0}".
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/CommitChangesDifferencesWizardPage.java Wed Dec 7 13:01:21 2011
@@ -82,7 +82,7 @@ public class CommitChangesDifferencesWiz
{
Project project = Activator.getDefault().getProjectsHandler().getOpenProject();
- differencesWidget.setInput( DifferenceEngine.getDifferences( project.getSchemaBackup(), project
+ differencesWidget.setInput( DifferenceEngine.getDifferences( project.getInitialSchema(), project
.getSchemaHandler().getSchemas() ) );
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewProjectWizard.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewProjectWizard.java?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewProjectWizard.java (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/NewProjectWizard.java Wed Dec 7 13:01:21 2011
@@ -96,7 +96,6 @@ public class NewProjectWizard extends Wi
RunnableContextRunner.execute( new StudioConnectionRunnableWithProgress()
{
-
public void run( StudioProgressMonitor monitor )
{
// Getting the correct SchemaConnector for this connection
@@ -145,7 +144,7 @@ public class NewProjectWizard extends Wi
public String getName()
{
- return null;
+ return Messages.getString( "NewProjectWizard.FetchingSchema" ); //$NON-NLS-1$;
}
@@ -157,7 +156,7 @@ public class NewProjectWizard extends Wi
public String getErrorMessage()
{
- return null;
+ return Messages.getString( "NewProjectWizard.ErrorWhileFetchingSchema" ); //$NON-NLS-1$;
}
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages.properties Wed Dec 7 13:01:21 2011
@@ -270,6 +270,8 @@ NewObjectClassOptionalAttributesPage.Non
NewObjectClassOptionalAttributesPage.OptionalAttributeTypes=Optional Attribute Types
NewObjectClassOptionalAttributesPage.Remove=Remove
NewObjectClassOptionalAttributesPage.SpecifiyOptionalAttributeTypesForObjectClass=Please specify the optional attribute types for the object class.
+NewProjectWizard.FetchingSchema=Fetching Schema
+NewProjectWizard.ErrorWhileFetchingSchema=An error occurred when fetching the schema:
NewProjectWizardConnectionSelectionPage.ChooseConnection=Choose a connection:
NewProjectWizardConnectionSelectionPage.CreateSchemaProject=Create a Schema project.
NewProjectWizardConnectionSelectionPage.ErrorNoConnectionSelected=A connection must be selected.
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_de.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_de.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_de.properties Wed Dec 7 13:01:21 2011
@@ -279,6 +279,8 @@ NewObjectClassOptionalAttributesPage.Non
NewObjectClassOptionalAttributesPage.OptionalAttributeTypes=Optionale Attribute-Typen
NewObjectClassOptionalAttributesPage.Remove=L\u00F6schen
NewObjectClassOptionalAttributesPage.SpecifiyOptionalAttributeTypesForObjectClass=Bitte die optionalen Attribute f\u00FCr die Objektlasse ausw\u00E4hlen.
+NewProjectWizard.FetchingSchema=TODO:Fetching Schema
+NewProjectWizard.ErrorWhileFetchingSchema=TODO:An error occurred when fetching the schema:
NewProjectWizardConnectionSelectionPage.ChooseConnection=Verbindung ausw\u00E4hlen:
NewProjectWizardConnectionSelectionPage.CreateSchemaProject=Schema Projekt erstellen.
NewProjectWizardConnectionSelectionPage.ErrorNoConnectionSelected=Eine Verbindung muss ausgew\u00E4hlt werden.
Modified: directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_fr.properties?rev=1211420&r1=1211419&r2=1211420&view=diff
==============================================================================
--- directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_fr.properties (original)
+++ directory/studio/trunk/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/wizards/messages_fr.properties Wed Dec 7 13:01:21 2011
@@ -285,6 +285,9 @@ NewObjectClassOptionalAttributesPage.Opt
NewObjectClassOptionalAttributesPage.Remove=Supprimer
NewObjectClassOptionalAttributesPage.SpecifiyOptionalAttributeTypesForObjectClass=Veuillez sp\u00E9cifier les types d'attribut optionnels pour la classe d'objet.
+NewProjectWizard.FetchingSchema=R\u00E9cup\u00E9ration du sch\u00E9ma
+NewProjectWizard.ErrorWhileFetchingSchema=Une erreur est survenue lors de la r\u00E9cup\u00E9ration du sch\u00E9ma :
+
NewProjectWizardConnectionSelectionPage.ChooseConnection=Choisissez une connexion:
NewProjectWizardConnectionSelectionPage.CreateSchemaProject=Cr\u00E9er un nouveau projet de sch\u00E9ma.
NewProjectWizardConnectionSelectionPage.ErrorNoConnectionSelected=Une connexion doit \u00EAtre s\u00E9lectionn\u00E9e.