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/16 17:34:10 UTC
svn commit: r556649 - in
/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor:
controller/ model/io/ view/wizards/
Author: pamarcelot
Date: Mon Jul 16 08:34:06 2007
New Revision: 556649
URL: http://svn.apache.org/viewvc?view=rev&rev=556649
Log:
Fixed a bug in the ProjectImporter class which caused the imported project to have a name of 'name' instead of its real name.
Implemented the import and export actions in the corresponding wizards.
Modified:
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.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
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizard.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizardPage.java
directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ImportProjectsWizard.java
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java Mon Jul 16 08:34:06 2007
@@ -44,6 +44,7 @@
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbenchActionConstants;
@@ -181,17 +182,32 @@
{
public void projectAdded( Project project )
{
- view.getViewer().refresh();
+ refreshProjectsViewer();
}
public void projectRemoved( Project project )
{
- view.getViewer().refresh();
+ refreshProjectsViewer();
}
public void openProjectChanged( Project oldProject, Project newProject )
+ {
+ refreshProjectsViewer();
+ }
+ } );
+ }
+
+
+ /**
+ * Refreshes the Projects Viewer
+ */
+ public void refreshProjectsViewer()
+ {
+ Display.getDefault().asyncExec( new Runnable()
+ {
+ public void run()
{
view.getViewer().refresh();
}
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?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- 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 Jul 16 08:34:06 2007
@@ -61,7 +61,7 @@
* @return
* the corresponding code representation
*/
- public static String toSourceCode( Project project )
+ public static String toXml( Project project )
{
// Creating the Document
Document document = DocumentHelper.createDocument();
@@ -82,7 +82,7 @@
* @return
* the corresponding code representation
*/
- public static String toSourceCode( Project[] projects )
+ public static String toXml( Project[] projects )
{
// Creating the Document
Document document = DocumentHelper.createDocument();
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?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- 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 Jul 16 08:34:06 2007
@@ -58,7 +58,7 @@
* @throws ProjectsImportException
* if an error occurs when importing the project
*/
- public Project getProject( String path ) throws ProjectsImportException
+ public static Project getProject( String path ) throws ProjectsImportException
{
Project project = new Project();
@@ -95,7 +95,7 @@
* @throws ProjectsImportException
* if an error occurs when importing the project
*/
- public Project[] getProjects( String path ) throws ProjectsImportException
+ public static Project[] getProjects( String path ) throws ProjectsImportException
{
List<Project> projects = new ArrayList<Project>();
@@ -139,13 +139,13 @@
* @throws ProjectsImportException
* if an error occurs when importing the project
*/
- private void readProject( Element element, Project project, String path ) throws ProjectsImportException
+ private static void readProject( Element element, Project project, String path ) throws ProjectsImportException
{
// Name
Attribute nameAttribute = element.attribute( NAME_TAG );
if ( ( nameAttribute != null ) && ( !nameAttribute.getValue().equals( "" ) ) )
{
- project.setName( nameAttribute.getName() );
+ project.setName( nameAttribute.getValue() );
}
// Type
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizard.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizard.java?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizard.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizard.java Mon Jul 16 08:34:06 2007
@@ -20,6 +20,15 @@
package org.apache.directory.studio.apacheds.schemaeditor.view.wizards;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.directory.studio.apacheds.schemaeditor.model.Project;
+import org.apache.directory.studio.apacheds.schemaeditor.model.io.ProjectsExporter;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IExportWizard;
@@ -56,6 +65,46 @@
*/
public boolean performFinish()
{
+ final Project[] selectedProjects = page.getSelectedProjects();
+
+ final String exportDirectory = page.getExportDirectory();
+ try
+ {
+ getContainer().run( true, true, new IRunnableWithProgress()
+ {
+ public void run( IProgressMonitor monitor )
+ {
+ monitor.beginTask( "Exporting project: ", selectedProjects.length );
+ for ( Project project : selectedProjects )
+ {
+ monitor.subTask( project.getName() );
+
+ try
+ {
+ BufferedWriter buffWriter = new BufferedWriter( new FileWriter( exportDirectory + "/"
+ + project.getName() + ".schemaproject" ) );
+ buffWriter.write( ProjectsExporter.toXml( project ) );
+ buffWriter.close();
+ }
+ catch ( IOException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ monitor.worked( 1 );
+ }
+ monitor.done();
+ }
+ } );
+ }
+ catch ( InvocationTargetException e )
+ {
+ // Nothing to do (it will never occur)
+ }
+ catch ( InterruptedException e )
+ {
+ // Nothing to do.
+ }
return true;
}
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizardPage.java?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizardPage.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ExportProjectsWizardPage.java Mon Jul 16 08:34:06 2007
@@ -27,7 +27,7 @@
import org.apache.directory.studio.apacheds.schemaeditor.Activator;
import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
import org.apache.directory.studio.apacheds.schemaeditor.model.Project;
-import org.apache.directory.studio.apacheds.schemaeditor.model.Schema;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Project.ProjectType;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
@@ -115,9 +115,9 @@
{
public String getText( Object element )
{
- if ( element instanceof Schema )
+ if ( element instanceof Project )
{
- return ( ( Schema ) element ).getName();
+ return ( ( Project ) element ).getName();
}
// Default
@@ -127,10 +127,18 @@
public Image getImage( Object element )
{
- if ( element instanceof Schema )
+ if ( element instanceof Project )
{
- return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
- PluginConstants.IMG_PROJECT_OFFLINE_CLOSED ).createImage();
+ ProjectType type = ( ( Project ) element ).getType();
+ switch ( type )
+ {
+ case OFFLINE:
+ return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_PROJECT_OFFLINE_CLOSED ).createImage();
+ case APACHE_DIRECTORY_SERVER:
+ return AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+ PluginConstants.IMG_PROJECT_ADS_CLOSED ).createImage();
+ }
}
// Default
@@ -213,7 +221,7 @@
private void initFields()
{
// Filling the Schemas table
-// schemaProjectsTableViewer.setInput( schemaHandler.getSchemas() );
+ projectsTableViewer.setInput( Activator.getDefault().getProjectsHandler().getProjects() );
displayErrorMessage( null );
setPageComplete( false );
Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ImportProjectsWizard.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ImportProjectsWizard.java?view=diff&rev=556649&r1=556648&r2=556649
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ImportProjectsWizard.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/wizards/ImportProjectsWizard.java Mon Jul 16 08:34:06 2007
@@ -20,6 +20,16 @@
package org.apache.directory.studio.apacheds.schemaeditor.view.wizards;
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.ProjectsHandler;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Project;
+import org.apache.directory.studio.apacheds.schemaeditor.model.io.ProjectsImportException;
+import org.apache.directory.studio.apacheds.schemaeditor.model.io.ProjectsImporter;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IImportWizard;
@@ -37,6 +47,9 @@
// The pages of the wizard
private ImportProjectsWizardPage page;
+ /** The ProjectsHandler */
+ private ProjectsHandler projectsHandler;
+
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#addPages()
@@ -56,7 +69,45 @@
*/
public boolean performFinish()
{
-
+ final File[] selectedProjectFiles = page.getSelectedProjectFiles();
+
+ try
+ {
+ getContainer().run( true, false, new IRunnableWithProgress()
+ {
+ public void run( IProgressMonitor monitor )
+ {
+ monitor.beginTask( "Importing projects: ", selectedProjectFiles.length );
+
+ for ( File projectFile : selectedProjectFiles )
+ {
+ monitor.subTask( projectFile.getName() );
+ try
+ {
+ Project project = ProjectsImporter.getProject( projectFile.getAbsolutePath() );
+ projectsHandler.addProject( project );
+ }
+ catch ( ProjectsImportException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ monitor.worked( 1 );
+ }
+
+ monitor.done();
+ }
+ } );
+ }
+ catch ( InvocationTargetException e )
+ {
+ // Nothing to do (it will never occur)
+ e.printStackTrace();
+ }
+ catch ( InterruptedException e )
+ {
+ // Nothing to do.
+ }
return true;
}
@@ -67,5 +118,8 @@
*/
public void init( IWorkbench workbench, IStructuredSelection selection )
{
+ setNeedsProgressMonitor( true );
+
+ projectsHandler = Activator.getDefault().getProjectsHandler();
}
}