public static CDOTransaction openTransaction(Map<String, Object> jobContext) { RepositoryConnector connector = getRepositoryConnector(jobContext); return connector.openTransaction(); }
@Override public IStatus run(IProgressMonitor monitor) { CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); try { SubMonitor subMonitor = SubMonitor.convert(monitor,100); ProjectVersion version = model.getObject(); version = transaction.getObject(version); TeamProvider provider = TeamProviderUtil.getTeamProvider(version.getParent().getTeamProvider()); provider.checkout(version, subMonitor.newChild(75)); rescanProject(subMonitor.newChild(25), model); } catch (TeamProviderException e) { logger.error("Checkout failed",e); return new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Checkout failed",e); } catch (CommitException e) { return new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Transaction commit failed",e); } finally{ try { transaction.commit(); } catch (CommitException e) { logger.error("Failed to commit the transaction",e); return new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Failed to commit the transaction",e); } transaction.close(); } return Status.OK_STATUS; } };
@Override public IStatus run(IProgressMonitor monitor) { ProjectVersion version = model.getObject(); TeamProvider provider = TeamProviderUtil.getTeamProvider(version.getParent() .getTeamProvider()); CDOTransaction transaction = Activator.getDefault() .getRepositoryConnector() .openTransaction(); try { version = transaction.getObject(version); SubMonitor subMonitor = SubMonitor.convert(monitor, "Committing", 100); provider.commit(version, subMonitor.newChild(100)); } catch (TeamProviderException e) { logger.error("Commit failed", e); return new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Commit Failed", e); } finally { transaction.close(); } return Status.OK_STATUS; } };
ProjectVersion version = model.getObject(); TeamProvider provider = TeamProviderUtil.getTeamProvider(version.getParent().getTeamProvider()); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); try { version = transaction.getObject(version);
ProjectVersion version = model.getObject(); TeamProvider provider = TeamProviderUtil.getTeamProvider(version.getParent().getTeamProvider()); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); try { version = transaction.getObject(version);
private void rescanProject(IProgressMonitor monitor, final IModel<ProjectVersion> model) throws CommitException { ScanConfiguration scanConfiguration = PreferencesUtil.getScanConfigForProject(getModelObject()); ProjectVersion version = model.getObject(); SubMonitor subMonitor = SubMonitor.convert(monitor, "Scanning", 100); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); version = transaction.getObject(version); version.fullScan(scanConfiguration, subMonitor.newChild(50)); subMonitor.setTaskName("Database Sync"); try { transaction.commit(subMonitor.newChild(50)); } finally { transaction.close(); PropertyPersistenceService persistenceService = Activator.getDefault().getPersistenceService(); if(persistenceService!=null) persistenceService.clearCache(); else logger.error("Could not obtain property persistence service"); } monitor.done(); }
@Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { ProjectVersion projectVersion = model.getObject(); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); projectVersion = transaction.getObject(projectVersion); Preferences preferences = PreferencesUtil.scopeFor(projectVersion); try { PreferencesUtil.deleteNode(preferences); File directory = new File(projectVersion.absolutPath().toFileString()); FileUtil.delete(directory); projectVersion.getParent().getChildren().remove(projectVersion); transaction.commit(); setResponsePage(SettingsPage.class, getPage().getPageParameters()); } catch (CommitException e) { logger.error("Commit failed",e); getSession().error(e.getMessage()); } catch (BackingStoreException e) { logger.error("Failed to delete project preferences",e); getSession().error(e.getMessage()); } finally { transaction.close(); } }
@Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { Project project = model.getObject(); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); project = transaction.getObject(project); Preferences preferences = PreferencesUtil.scopeFor(project); try { PreferencesUtil.deleteNode(preferences); File directory = new File(project.absolutPath().toFileString()); FileUtil.delete(directory); project.getParent().getChildren().remove(project); transaction.commit(); setResponsePage(SettingsPage.class, getPage().getPageParameters()); } catch (CommitException e) { logger.error("Commit failed",e); getSession().error(e.getMessage()); } catch (BackingStoreException e) { logger.error("Failed to delete project preferences",e); getSession().error(e.getMessage()); } finally { transaction.close(); } }