Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-10-20 11:20:17 +0000
committerEike Stepper2010-10-20 11:20:17 +0000
commitd9780fb8aca1e44595f68b0b8f2459b784d0b9b2 (patch)
treec88a97486d29025ecba0530cb6e6de55cac91f48 /plugins/org.eclipse.emf.cdo.ui.workspace
parentb5aa7dd23f4a9466c92ed3bd16d6103d5c0d3fa4 (diff)
downloadcdo-d9780fb8aca1e44595f68b0b8f2459b784d0b9b2.tar.gz
cdo-d9780fb8aca1e44595f68b0b8f2459b784d0b9b2.tar.xz
cdo-d9780fb8aca1e44595f68b0b8f2459b784d0b9b2.zip
[327405] Provide an offline CDOWorkspace with Checkout/Update/Commit workflows
https://bugs.eclipse.org/bugs/show_bug.cgi?id=327405
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui.workspace')
-rw-r--r--plugins/org.eclipse.emf.cdo.ui.workspace/META-INF/MANIFEST.MF8
-rw-r--r--plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java70
2 files changed, 5 insertions, 73 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui.workspace/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.ui.workspace/META-INF/MANIFEST.MF
index e6d95ed4a0..0d5b615393 100644
--- a/plugins/org.eclipse.emf.cdo.ui.workspace/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.ui.workspace/META-INF/MANIFEST.MF
@@ -11,11 +11,7 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ClassPath: .
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.cdo.workspace;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.emf.cdo.ui.location;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.emf.cdo.server.db;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)"
-Import-Package: org.h2;version="[1.1.0,1.2.0)",
- org.h2.jdbcx;version="[1.1.0,1.2.0)"
+ org.eclipse.emf.cdo.workspace.efs;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.cdo.ui.location;bundle-version="[4.0.0,5.0.0)"
Export-Package: org.eclipse.emf.cdo.ui.internal.workspace;version="4.0.0";x-internal:=true,
org.eclipse.emf.cdo.ui.internal.workspace.bundle;version="4.0.0";x-internal:=true
diff --git a/plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java b/plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java
index 61ac8b9faf..cd0d0a9418 100644
--- a/plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java
+++ b/plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java
@@ -12,27 +12,12 @@
package org.eclipse.emf.cdo.ui.internal.workspace;
import org.eclipse.emf.cdo.location.ICheckoutSource;
-import org.eclipse.emf.cdo.server.db.CDODBUtil;
-import org.eclipse.emf.cdo.server.db.IDBStore;
-import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy;
-import org.eclipse.emf.cdo.session.CDOSessionConfigurationFactory;
import org.eclipse.emf.cdo.ui.internal.workspace.bundle.OM;
-import org.eclipse.emf.cdo.workspace.CDOWorkspaceBase;
-import org.eclipse.emf.cdo.workspace.CDOWorkspaceUtil;
+import org.eclipse.emf.cdo.workspace.efs.CDOWorkspaceFSUtil;
-import org.eclipse.net4j.db.DBUtil;
-import org.eclipse.net4j.db.IDBAdapter;
-import org.eclipse.net4j.db.IDBConnectionProvider;
-import org.eclipse.net4j.db.h2.H2Adapter;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.IAction;
@@ -42,12 +27,6 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
-import org.h2.jdbcx.JdbcDataSource;
-
-import javax.sql.DataSource;
-
-import java.io.File;
-
/**
* @author Eike Stepper
*/
@@ -86,8 +65,7 @@ public class CheckoutAction implements IObjectActionDelegate
if (dialog.open() == CheckoutDialog.OK)
{
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- final IProject project = root.getProject(dialog.getProjectName());
+ final String projectName = dialog.getProjectName();
new Job("Checking out...")
{
@@ -96,7 +74,7 @@ public class CheckoutAction implements IObjectActionDelegate
{
try
{
- CheckoutAction.this.run(checkoutSource, project, monitor);
+ CDOWorkspaceFSUtil.checkout(checkoutSource, projectName, monitor);
return Status.OK_STATUS;
}
catch (CoreException ex)
@@ -115,46 +93,4 @@ public class CheckoutAction implements IObjectActionDelegate
}
}
}
-
- protected void run(ICheckoutSource checkoutSource, IProject project, IProgressMonitor monitor) throws Exception
- {
- project.create(new NullProgressMonitor());
- project.open(new NullProgressMonitor());
-
- IFolder cdoFolder = project.getFolder(".cdo");
- cdoFolder.create(true, true, new NullProgressMonitor());
- cdoFolder.setTeamPrivateMember(true);
-
- IFolder baseFolder = cdoFolder.getFolder("base");
- baseFolder.create(true, true, new NullProgressMonitor());
-
- IFolder localFolder = cdoFolder.getFolder("local");
- localFolder.create(true, true, new NullProgressMonitor());
-
- IMappingStrategy mappingStrategy = CDODBUtil.createHorizontalMappingStrategy(false);
- IDBAdapter dbAdapter = createLocalAdapter();
- IDBConnectionProvider dbConnectionProvider = DBUtil.createConnectionProvider(createLocalDataSource(localFolder));
- IDBStore local = CDODBUtil.createStore(mappingStrategy, dbAdapter, dbConnectionProvider);
-
- CDOWorkspaceBase base = createWorkspaceBase(baseFolder);
- CDOSessionConfigurationFactory remote = checkoutSource.getRepositoryLocation();
- CDOWorkspaceUtil.checkout(local, base, remote, checkoutSource.getBranchPath(), checkoutSource.getTimeStamp());
- }
-
- protected IDBAdapter createLocalAdapter()
- {
- return new H2Adapter();
- }
-
- protected DataSource createLocalDataSource(IFolder folder)
- {
- JdbcDataSource dataSource = new JdbcDataSource();
- dataSource.setURL("jdbc:h2:" + folder.getLocation().toString().replace('\\', '/'));
- return dataSource;
- }
-
- protected CDOWorkspaceBase createWorkspaceBase(IFolder folder)
- {
- return CDOWorkspaceUtil.createFolderWorkspaceBase(new File(folder.getLocation().toString()));
- }
}

Back to the top