diff options
author | Eike Stepper | 2010-10-20 11:20:17 +0000 |
---|---|---|
committer | Eike Stepper | 2010-10-20 11:20:17 +0000 |
commit | d9780fb8aca1e44595f68b0b8f2459b784d0b9b2 (patch) | |
tree | c88a97486d29025ecba0530cb6e6de55cac91f48 /plugins/org.eclipse.emf.cdo.ui.workspace | |
parent | b5aa7dd23f4a9466c92ed3bd16d6103d5c0d3fa4 (diff) | |
download | cdo-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.MF | 8 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui.workspace/src/org/eclipse/emf/cdo/ui/internal/workspace/CheckoutAction.java | 70 |
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())); - } } |