• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CDOTransaction类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.emf.cdo.transaction.CDOTransaction的典型用法代码示例。如果您正苦于以下问题:Java CDOTransaction类的具体用法?Java CDOTransaction怎么用?Java CDOTransaction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CDOTransaction类属于org.eclipse.emf.cdo.transaction包,在下文中一共展示了CDOTransaction类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: startCDOServer

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@BeforeClass
public static void startCDOServer() throws IOException, CommitException {
    server = new CDOServer(false);
    server.start();
    IConnector connector = M2DocCDOUtils
            .getConnector(CDOServer.PROTOCOL + "://" + CDOServer.IP + ":" + CDOServer.PORT);
    CDOSession session = M2DocCDOUtils.openSession(connector, CDOServer.REPOSITORY_NAME, CDOServer.USER_NAME,
            CDOServer.PASSWORD);
    final CDOTransaction transaction = M2DocCDOUtils.openTransaction(session);
    final CDOResource resource = transaction.createResource("anydsl.ecore");
    final ResourceSet resourceSet = new ResourceSetImpl();
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
    final Resource anyDSLResource = resourceSet.getResource(URI.createFileURI("resources/anydsl.ecore"), true);
    resource.getContents().addAll(anyDSLResource.getContents());
    resource.save(null);
    transaction.commit();
    transaction.close();
    session.close();
    connector.close();

    if (!EMFPlugin.IS_ECLIPSE_RUNNING) {
        ConfigurationProviderService.getInstance().register(CONFIGURATION_PROVIDER);
        M2DocUtils.registerServicesConfigurator(SERVICES_CONFIGURATOR_DESCRIPTOR);
    }
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:26,代码来源:ServerWithoutAuthentication.java


示例2: startCDOServer

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@BeforeClass
public static void startCDOServer() throws IOException, CommitException {
    server = new CDOServer(true);
    server.start();
    IConnector connector = M2DocCDOUtils
            .getConnector(CDOServer.PROTOCOL + "://" + CDOServer.IP + ":" + CDOServer.PORT);
    CDOSession session = M2DocCDOUtils.openSession(connector, CDOServer.REPOSITORY_NAME, CDOServer.USER_NAME,
            CDOServer.PASSWORD);
    final CDOTransaction transaction = M2DocCDOUtils.openTransaction(session);
    final CDOResource resource = transaction.createResource("anydsl.ecore");
    final ResourceSet resourceSet = new ResourceSetImpl();
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
    final Resource anyDSLResource = resourceSet.getResource(URI.createFileURI("resources/anydsl.ecore"), true);
    resource.getContents().addAll(anyDSLResource.getContents());
    resource.save(null);
    transaction.commit();
    transaction.close();
    session.close();
    connector.close();

    if (!EMFPlugin.IS_ECLIPSE_RUNNING) {
        ConfigurationProviderService.getInstance().register(CONFIGURATION_PROVIDER);
        M2DocUtils.registerServicesConfigurator(SERVICES_CONFIGURATOR_DESCRIPTOR);
    }
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:26,代码来源:ServerWithAuthentication.java


示例3: createResourceSetForModels

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@Override
public ResourceSet createResourceSetForModels(Generation generation) {
    final ResourceSet res;

    final Map<String, String> options = GenconfUtils.getOptions(generation);
    final String cdoServer = options.get(M2DocCDOUtils.CDO_SERVER_OPTION);
    if (cdoServer != null) {
        final String repository = options.get(M2DocCDOUtils.CDO_REPOSITORY_OPTION);
        final String branch = options.get(M2DocCDOUtils.CDO_BRANCH_OPTION);
        final String login = options.get(M2DocCDOUtils.CDO_LOGIN_OPTION);
        final String password = options.get(M2DocCDOUtils.CDO_PASSWORD_OPTION);
        final IConnector connector = M2DocCDOUtils.getConnector(cdoServer);
        connectors.put(generation, connector);
        final CDOSession session = M2DocCDOUtils.openSession(connector, repository, login, password);
        final CDOTransaction transaction = M2DocCDOUtils.openTransaction(session, branch);
        transactions.put(generation, transaction);
        res = transaction.getResourceSet();
        res.getURIConverter().getURIHandlers().add(0, new M2DocCDOURIHandler((InternalCDOView) transaction));
    } else {
        res = null;
    }

    return res;
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:25,代码来源:CDOConfigurationProvider.java


示例4: createUsers

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static void createUsers(CDOTransaction transaction) {
	CDOResource r1 = transaction.getOrCreateResource("u1");
	r1.getContents().clear();

	User u1 = ModelFactory.eINSTANCE.createUser();
	u1.setName("Bob");
	r1.getContents().add(u1);

	CDOResource r2 = transaction.getOrCreateResource("u2");
	r2.getContents().clear();

	User u2 = ModelFactory.eINSTANCE.createUser();
	u2.setName("Peter");
	u2.getFriends().add(u1);
	r2.getContents().add(u2);
}
 
开发者ID:emfjson,项目名称:emfjson-samples,代码行数:17,代码来源:Main.java


示例5: openTransaction

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
/**
 * Open a {@link CDOTransaction} on the given {@link CDOBranch}. Caller is responsible of
 * {@link CDOTransaction#close() closing} the resulting transaction.
 * 
 * @param session
 *            the {@link CDOSession} to use to open the {@link CDOTransaction}
 * @param branchName
 *            the branch name or <code>null</code> for the main branch
 * @return a new {@link CDOTransaction}
 */
public static CDOTransaction openTransaction(CDOSession session, String branchName) {
	final CDOTransaction res;
	if (branchName != null) {
		CDOBranch branch = session.getBranchManager().getBranch(branchName);
		if (branch != null) {
			res = session.openTransaction(branch);
		} else {
			res = null;
			throw new IllegalArgumentException("The branch " + branchName + " doesn't exist.");
		}
	} else {
		res = session.openTransaction();
	}
	return res;
}
 
开发者ID:ModelWriter,项目名称:Source,代码行数:26,代码来源:CDOUtils.java


示例6: save

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
public void save(Map<?, ?> options) throws IOException {
    CDOViewSet cdoVS = CDOUtil.getViewSet(getResourceSet());
    CDOTransaction trans = Arrays.stream(cdoVS.getViews()).filter(CDOTransaction.class::isInstance)
            .map(CDOTransaction.class::cast).findFirst().orElse(null);
    if (trans == null) {
        throw new IOException("Could not gather a transaction to perform the save operation.");
    }
    String realCdoRepositoryPath = getRealCDORepositoryPath(trans);
    XMISerializer accessor = new XMISerializer(this, prepareOptions(options));
    doSave(accessor, trans, realCdoRepositoryPath);
    try {
        trans.commit();
    } catch (CommitException e) {
        throw new IOException(e);
    }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:17,代码来源:VirtualCDOFileResource.java


示例7: delete

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static boolean delete(IFile launcher) {
    CDOSession session = CDOConnectionManager.getInstance().acquireSession(launcher.getProject());
    try {
        CDOTransaction transaction = session.openTransaction();
        try {
            if (delete(launcher, transaction)) {
                transaction.commit();
                return true;
            }
            return false;
        } catch (CommitException e) {
            LOGGER.error("Could not commit changes.", e);
            return false;
        } finally {
            IOUtil.closeSilent(transaction);
        }
    } finally {
        CDOConnectionManager.getInstance().releaseSession(session);
    }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:21,代码来源:DeleteDiagramFromRepositoryCommand.java


示例8: reset

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
public static boolean reset(CDOSession session, CDOCommitInfo commit, IResource resource) {
    CDOBranch mainBranch = session.getBranchManager().getMainBranch();
    CDOBranch branch = mainBranch.createBranch("revert_" + System.currentTimeMillis());
    boolean result = reset(session, commit, resource, branch);
    if (result) {
        CDOTransaction mergeTransaction = session.openTransaction(mainBranch);
        try {
            String changedObjectLabel = getLabelFor(resource);
            DateFormat df = new SimpleDateFormat("dd.MM.yy HH:mm:ss");
            String commitComment = String.format("Reset of %s to previous commit (%s) by %s.", changedObjectLabel,
                    df.format(new Date(commit.getTimeStamp())), System.getProperty("user.name"));
            mergeTransaction.setCommitComment(commitComment);
            mergeTransaction.merge(branch, new NilFixingCDOMerger());
            try {
                mergeTransaction.commit();
            } catch (CommitException e) {
                LOGGER.error("Merge commit of reverted changes failed.", e);
                return false;
            }
        } finally {
            IOUtil.closeSilent(mergeTransaction);
        }
    }
    return result;
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:26,代码来源:ResetToPreviousStateCommand.java


示例9: deleteProjectFromRepository

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static boolean deleteProjectFromRepository(IProject project) {
    CDOSession session = null;
    try {
        session = CDOConnectionManager.getInstance().acquireSession(project);
        CDOTransaction transaction = session.openTransaction();
        CDOResourceFolder resource = transaction.getResourceFolder(project.getName());
        if (resource == null) {
            LOGGER.error("Project {} doesn't exist in repository.", project);
            return false;
        }
        EcoreUtil.delete(resource);
        try {
            transaction.commit();
        } catch (CommitException e) {
            LOGGER.error("Could not delete project {} from repository.", project.getName(), e);
            return false;
        }
    } finally {
        CDOConnectionManager.getInstance().releaseSession(session);
    }
    return true;
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:23,代码来源:DeleteProjectFromRepositoryCommand.java


示例10: createCDOResource

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static CDOResourceFolder createCDOResource(IProject project, String cdoRepoPath,
		IListener listener) throws CommitException {
	CDOSession cdoSession = CDOConnectionManager.getInstance().acquireSession(project);
	CDOResourceFolder result = null;
	try {
		CDOView cdoView = cdoSession.openView();
		cdoView.addListener(listener);
		cdoView.options().addChangeSubscriptionPolicy(CDOAdapterPolicy.ALL);
		if (!cdoView.hasResource(cdoRepoPath)) {
			CDOTransaction transaction = cdoSession.openTransaction();
			transaction.createResourceFolder(cdoRepoPath);
			transaction.commit();
			transaction.close();
		}
		result = cdoView.getResourceFolder(cdoRepoPath);
		return result;
	} finally {
		if (result == null) {
			CDOConnectionManager.getInstance().releaseSession(cdoSession);
		}
	}
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:23,代码来源:CDOHandlingBackgroundTask.java


示例11: fixStaleReferences

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private void fixStaleReferences(CDOTransaction transaction) {
    Collection<CDOCommitInfo> infos = Lists.newArrayList();
    transaction.getSession().getCommitInfoManager().getCommitInfos(transaction.getBranch(), lastMergeTimeBranch,
            CDOView.UNSPECIFIED_DATE, infos::add);
    Set<CrossReferenceSetting> candidates = infos.stream()
            .flatMap(i -> findPossibleStaleReferences(transaction.getSession(), i).stream())
            .collect(Collectors.toSet());
    for (CrossReferenceSetting setting : candidates) {
        try {
            CDOObject eObject = transaction.getObject(setting.getObject());
            fixStaleReference(eObject, setting);
        } catch (ObjectNotFoundException e) {
            LOGGER.warn("Attempt to fix a stale reference on an non existing object.", e);
        }
    }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:17,代码来源:TransformationManager.java


示例12: postGenerate

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@Override
public List<URI> postGenerate(Generation generation, URI templateURI, URI generatedURI,
        DocumentTemplate documentTemplate) {
    final CDOTransaction transaction = transactions.get(generation);
    if (transaction != null) {
        final CDOSession session = transaction.getSession();
        transaction.close();
        session.close();
        connectors.remove(generation).close();
    }
    return Collections.emptyList();
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:13,代码来源:CDOConfigurationProvider.java


示例13: openTransaction

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
/**
 * Open a {@link CDOTransaction} on the given {@link CDOBranch}. Caller is responsible of
 * {@link CDOTransaction#close() closing} the resulting transaction.
 * 
 * @param session
 *            the {@link CDOSession} to use to open the {@link CDOTransaction}
 * @param branchName
 *            the branch name or <code>null</code> for the main branch
 * @return a new {@link CDOTransaction}
 */
public static CDOTransaction openTransaction(CDOSession session, String branchName) {
    final CDOTransaction res;
    if (branchName != null) {
        CDOBranch branch = session.getBranchManager().getBranch(branchName);
        if (branch != null) {
            res = session.openTransaction(branch);
        } else {
            res = session.openTransaction();
        }
    } else {
        res = session.openTransaction();
    }
    return res;
}
 
开发者ID:ObeoNetwork,项目名称:M2Doc,代码行数:25,代码来源:M2DocCDOUtils.java


示例14: doSave

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@Override
protected void doSave(XMISerializer serializer, CDOTransaction trans, String realCdoRepositoryPath)
        throws IOException {
    CDOTextResource textRes = trans.getOrCreateTextResource(realCdoRepositoryPath);
    textRes.setEncoding(DEFAULT_CHARSET_NAME);
    StringWriter writer = new StringWriter();
    try (WriterOutputStream wos = new WriterOutputStream(writer, DEFAULT_CHARSET)) {
        serializer.serialize(wos);
        try (StringReader reader = new StringReader(writer.getBuffer().toString())) {
            CDOClob clob = new CDOClob(reader);
            textRes.setContents(clob);
        }
    }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:15,代码来源:TextbasedCDOResource.java


示例15: doSave

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
@Override
protected void doSave(XMISerializer serializer, CDOTransaction trans, String realCdoRepositoryPath) throws IOException {
       CDOBinaryResource binRes = trans.getOrCreateBinaryResource(realCdoRepositoryPath);
       try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
       	serializer.serialize(baos);
           CDOBlob blob = new CDOBlob(new ByteArrayInputStream(baos.toByteArray()));
           binRes.setContents(blob);
       }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:10,代码来源:BinarybasedCDOResource.java


示例16: getScopeFromUMLResource

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private IScope getScopeFromUMLResource(Resource umlResource, EClass type,
        Predicate<IEObjectDescription> predicate) {
    Stream<EObject> umlResourceElements;
    if (umlResource instanceof CDOResource && ((CDOResource) umlResource).cdoView() instanceof CDOTransaction) {
        umlResourceElements = getScopeElementsFromUMLResource((CDOResource) umlResource, type);
    } else {
        umlResourceElements = getScopeElementsFromUMLResource(umlResource, type);
    }
    Stream<EObject> umlPrimitiveElements = getPrimitiveTypesIfRequested(umlResource, type);

    Stream<EObject> scopeElements = Stream.concat(umlPrimitiveElements, umlResourceElements);
    return createScopeForStream(scopeElements, predicate);
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:14,代码来源:CooperateGlobalScopeProvider.java


示例17: getScopeElementsFromUMLResource

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static Stream<EObject> getScopeElementsFromUMLResource(CDOResource umlResource, EClass type) {
    Optional<CDOTransaction> transation = Optional.fromNullable(umlResource.cdoView())
            .transform(v -> v.getAdapter(CDOTransaction.class));
    if (!transation.isPresent()) {
        return Stream.empty();
    }
    CDOQuery query = transation.get().createQuery("ocl",
            String.format("%s::%s.allInstances()", type.getEPackage().getNsPrefix(), type.getName()), true);
    Collection<EObject> results = query.getResult().stream().filter(type::isInstance).map(EObject.class::cast)
            .filter(o -> o.eResource() == umlResource).collect(Collectors.toList());
    return results.stream();
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:13,代码来源:CooperateGlobalScopeProvider.java


示例18: findRelevantURIs

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static Collection<URI> findRelevantURIs(CDOTransaction transaction, IFile file)
        throws IOException, ConcreteSyntaxTypeNotAvailableException {
    Collection<URI> relevantUris = new HashSet<>();
    ResourceSet currentRS = transaction.getResourceSet();
    Diagram launcherModel = LauncherModelHelper.loadDiagram(currentRS, file);
    GraphicalConcreteSyntaxModel csModel = launcherModel.getConcreteSyntaxModel(GraphicalConcreteSyntaxModel.class);
    URI graphicalResourceUri = csModel.getRootElement().eResource().getURI();
    relevantUris.add(graphicalResourceUri);
    relevantUris.add(ModelNamingConventions.getUMLFromGraphicalURI(graphicalResourceUri));
    relevantUris.add(ModelNamingConventions.getDiFromGraphicalURI(graphicalResourceUri));

    for (org.eclipse.gmf.runtime.notation.Diagram graphicalDiagram : csModel.getRootElement().eResource()
            .getContents().stream().filter(org.eclipse.gmf.runtime.notation.Diagram.class::isInstance)
            .map(org.eclipse.gmf.runtime.notation.Diagram.class::cast).collect(Collectors.toList())) {
        URI graphicalURI = graphicalDiagram.eResource().getURI()
                .appendFragment(graphicalDiagram.eResource().getURIFragment(graphicalDiagram));
        String diagramName = graphicalDiagram.getName();

        Optional<String> textualFileExtension = DiagramTypeRegistry.getInstance()
                .getByNotationDiagramType(graphicalDiagram.getType()).map(IDiagramType::getTextualFileExtension);
        if (!textualFileExtension.isPresent()) {
            continue;
        }
        URI textualUri = ModelNamingConventions.getTextualFromGraphicalURI(graphicalURI, diagramName,
                textualFileExtension.get());
        String textualDiagramName = textualUri.lastSegment();
        String folderPath = textualUri.deresolve(transaction.getRootResource().getURI()).trimSegments(1).toString();
        CDOResourceFolder cdoFolder = transaction.getResourceFolder(folderPath);
        cdoFolder.getNodes().stream().filter(n -> n.getName().contains(textualDiagramName))
                .map(CDOResourceNode::getURI).forEach(relevantUris::add);
    }

    Resource launcherModelResource = launcherModel.eResource();
    launcherModelResource.unload();
    transaction.getResourceSet().getResources().remove(launcherModelResource);

    return relevantUris;
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:39,代码来源:ResetToPreviousStateCommand.java


示例19: createTransformationManager

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static ITransformationManager createTransformationManager(CDOTransaction mainView, CDOView branchView,
        Collection<URI> relevantURIs) {
    if (branchView instanceof CDOTransaction) {
        return new TransformationManager(mainView, (CDOTransaction) branchView,
                transaction -> doLockRelevantModels(transaction, relevantURIs));
    } else {
        return new NOOPTransformationManager();
    }
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:10,代码来源:EditorLauncherBase.java


示例20: createUMLModel

import org.eclipse.emf.cdo.transaction.CDOTransaction; //导入依赖的package包/类
private static CDOResource createUMLModel(CDOTransaction transaction, CDOResourceFolder folder, String modelName) {
    CDOResource umlResource = getOrCreate(transaction, folder, modelName + ".uml");
    if (umlResource.getContents().isEmpty()) {
        Model umlModel = UMLFactory.eINSTANCE.createModel();
        umlModel.setName("RootElement");
        umlResource.getContents().add(umlModel);
    }
    return umlResource;
}
 
开发者ID:Cooperate-Project,项目名称:CooperateModelingEnvironment,代码行数:10,代码来源:ModelCreator.java



注:本文中的org.eclipse.emf.cdo.transaction.CDOTransaction类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Serde类代码示例发布时间:2022-05-22
下一篇:
Java XbaseSemanticSequencer类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap