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

Java RunnableWithResult类代码示例

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

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



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

示例1: writeExternal

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static void writeExternal(final ObjectOutput out, final EPlanElement eObject) throws IOException {
	IOException result = TransactionUtils.reading(eObject, new RunnableWithResult.Impl<IOException>() {
		@Override
		public void run() {
			try {
				out.writeObject(eObject);
			} catch (IOException e) {
				Logger.getLogger(WrapperUtils.class).error("writeExternal", e);
				setResult(e);
			}
		}
	});
	if (result != null) {
		throw result;
	}
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:17,代码来源:WrapperUtils.java


示例2: initialize

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
@Override
protected List<? extends Violation> initialize() {
	return TransactionUtils.reading(plan, new RunnableWithResult.Impl<List<? extends Violation>>() {
		@Override
		public void run() {
			if (isQuit()) {
				return;
			}
			final List<EPlanElement> affectedElements = new ArrayList<EPlanElement>();
			new PlanVisitor() {
				@Override
				protected void visit(EPlanElement element) {
				    affectedElements.add(element);
				}
			}.visitAll(plan);
			List<Violation> violations = findViolations(affectedElements);
			setResult(violations);
		}
	});
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:21,代码来源:ConstraintsPlanAdvisor.java


示例3: writing

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static <T extends Throwable> void writing(final Object object, final Class<T> throwableClass, final RunnableWithThrowable runnable) throws T {
	final Option<T> exception = TransactionUtils.writing(object, new RunnableWithResult.Impl<Option<T>>() {
		@Override
		public void run() {
			try {
				runnable.run();
				setResult(Option.<T> none());
			} catch (Throwable throwable) {
				if (throwableClass.isAssignableFrom(throwable.getClass())) {
					setResult(some((T) throwable));
					return;
				}
				if (throwable instanceof RuntimeException)
					throw (RuntimeException) throwable;
				if (throwable instanceof Error)
					throw (Error) throwable;
				throw new RuntimeException(throwable);
			}
		}
	});
	if (exception.isSome())
		throw exception.some();
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:24,代码来源:TransactionUtils.java


示例4: getString

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static String getString(EPlanElement element) {
	if (element instanceof EPlanChild) {
		final EPlanChild child = (EPlanChild) element;
		if (child.getParent() == null) {
			return TransactionUtils.writing(DUMMY_PLAN, new RunnableWithResult.Impl<String>() {
				public void run() {
					EList<EPlanChild> children = DUMMY_PLAN.getChildren();
					children.add(child);
					setResult(EMFUtils.convertToXML(child, OPTIONS));
					children.remove(child);
				}
			});
		}
	}
	return EMFUtils.convertToXML(element, OPTIONS);
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:17,代码来源:PlanElementXMLUtils.java


示例5: unloadModelResource

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
private void unloadModelResource(final IFile file){

		logger.info("Alternative '"+ getName() +"' is unloading model resource: " + file.getFullPath().toString());

		try {
			TransactionUtil.runExclusive(editingDomain, new RunnableWithResult.Impl<Resource>(){

				@Override
				public void run() {
					Resource resource = getModelResource(file);
					if(resource != null){
						resource.unload();
						resSet.getResources().remove(resource);
					}
				}
			});
		} 
		catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
 
开发者ID:CloudScale-Project,项目名称:Environment,代码行数:22,代码来源:EditorInputEMF.java


示例6: loadExternalModel

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
/**
 * Loads the EMF resource under specified file into the editing domain.
 * 
 * @param file
 * @return EMF Resource
 */
public Resource loadExternalModel(final IFile file){
	
	Resource resource = null;
	
	try {
		resource = TransactionUtil.runExclusive(editingDomain, new RunnableWithResult.Impl<Resource>(){
			
			@Override
			public void run() {
				
				Resource res = getModelResource(file);
				if(res == null){
					res = loadModelResource(file);
				}
				setResult(res);
				
			}
		});
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
	
	return resource;
}
 
开发者ID:CloudScale-Project,项目名称:Environment,代码行数:31,代码来源:EditorInputEMF.java


示例7: getEditTextValidator

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
/**
 * @generated
 */
public ICellEditorValidator getEditTextValidator() {
	return new ICellEditorValidator() {

		public String isValid(final Object value) {
			if (value instanceof String) {
				final EObject element = getParserElement();
				final IParser parser = getParser();
				try {
					IParserEditStatus valid = (IParserEditStatus) getEditingDomain()
							.runExclusive(
									new RunnableWithResult.Impl<IParserEditStatus>() {

										public void run() {
											setResult(parser
													.isValidEditString(
															new EObjectAdapter(
																	element),
															(String) value));
										}
									});
					return valid.getCode() == ParserEditStatus.EDITABLE ? null
							: valid.getMessage();
				} catch (InterruptedException ie) {
					ie.printStackTrace();
				}
			}

			// shouldn't get here
			return null;
		}
	};
}
 
开发者ID:spoenemann,项目名称:xtext-gef,代码行数:36,代码来源:StateNameEditPart.java


示例8: testLocalVariable

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public void testLocalVariable() throws Exception {
	load(URI.createURI("platform:/plugin/gov.nasa.ensemble.core.plan.resources/datafiles/test/TestLocalVariable.dictionary"));
	
	EActivityDef activityDef = getActivityDef("LocalVariableTest");
	
	final EActivity activity = PLAN_FACTORY.createActivity(activityDef);
	plan = createPlan(activity);
	
	assertEquals(Integer.valueOf(0), ADParameterUtils.getParameterObject(activity, "baseParameter"));
	
	ResourceUpdater.recompute(plan);
	
	assertEquals(Integer.valueOf(10), ADParameterUtils.getParameterObject(activity, "variableParameter"));

	Exception exception = TransactionUtils.writing(activity, new RunnableWithResult.Impl<Exception>() {
		@Override
		public void run() {
			try {
                ADParameterUtils.setParameterObject(activity, "baseParameter", 10);
               } catch (UndefinedParameterException e) {
               	setResult(e);
               }
		}
	});
	if (exception != null) {
		throw exception;
	}
	
	ResourceUpdater.recompute(plan);
	
	assertEquals(Integer.valueOf(20), ADParameterUtils.getParameterObject(activity, "variableParameter"));
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:33,代码来源:TestLocalVariable.java


示例9: createPlan

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static EPlan createPlan() {
	// clear the activity dictionary of previous definitions
	final ActivityDictionary adict = ActivityDictionary.getInstance();
	adict.clearCache();
	
	// create some activity definitions
	EActivityDef actDef1 = createActivityDef(0, "actDef1", "group 1");
	EActivityDef actDef2 = createActivityDef(1, "actDef2", "group 2");
	EActivityDef actDef3 = createActivityDef(3, "actDef3", "group 1");
	
	adict.addDefinition(actDef1);
	adict.addDefinition(actDef2);
	adict.addDefinition(actDef3);
	
	// hack to re-initialize any members that may have cached a previous version of the AD
	adict.fireActivityDictionaryLoadedEvent();
	
	final EPlan plan = PlanFactory.getInstance().createPlan(TestPlanUtils.TEST_PLAN_NAME);
	Exception exception = TransactionUtils.writing(plan, new RunnableWithResult.Impl<Exception>() {
		@Override
		public void run() {
			try {
                constructPlan(adict, plan);
               } catch (Exception e) {
                setResult(e);
               }
		}
	});
	if (exception != null) {
		throw new RuntimeException("exception in constructPlan: ", exception);
	}

	trace.debug("createPlan: After multiArgActivity");
	return plan;
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:36,代码来源:TestPlanUtils.java


示例10: createActivityGroup

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
/**
 * Creates an {@link EActivityGroup} within the given parent.
 */
public EActivityGroup createActivityGroup(final EPlanParent parent) {
	String nameOfPlan = "Unnamed";
	if (parent != null) {
		nameOfPlan = TransactionUtils.reading(parent, new RunnableWithResult.Impl<String>() {
			@Override
			public void run() {
				setResult(createName(parent, EPlanUtils.getActivityGroupDisplayName()));
			}
		});
	}
	final String name = nameOfPlan; 
	final EActivityGroup group = createActivityGroupInstance();
	TransactionUtils.writeIfNecessary(group, new Runnable() {
		@Override
		public void run() {
			group.setData(ADParameterMemberFactory.FACTORY.createData(PlanPackage.Literals.EACTIVITY_GROUP));
			group.setName(name);
			TemporalMember temporalMember = group.getMember(TemporalMember.class);
			temporalMember.setUseChildTimes(true);
			CommonMember commonMember = group.getMember(CommonMember.class);
			commonMember.setNotes("");
			RGB randomColor = ColorUtils.getRandomColor();
			commonMember.setColor(ColorUtils.getAsERGB(randomColor));
		}
	});
	return group;
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:31,代码来源:PlanFactory.java


示例11: check

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
@Override
protected List<? extends Violation> check(final List<Notification> notifications) {
	return TransactionUtils.reading(plan, new RunnableWithResult.Impl<List<? extends Violation>>() {
		@Override
		public void run() {
			Set<EPlanElement> affectedElements = getAffectedElements(notifications);
			List<Violation> violations = findViolations(affectedElements);
			setResult(violations);
		}
	});
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:12,代码来源:ConstraintsPlanAdvisor.java


示例12: displayRunnable

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
private Runnable displayRunnable(final Control control, final Runnable runnable) {
	return new Runnable() {
		@Override
		public void run() {
			if (control.isDisposed()) {
				return;
			}
			Display display = control.getDisplay();
			if (display.isDisposed()) {
				return;
			}
			final RunnableWithResult<?> privilegedRunnable = domain.createPrivilegedRunnable(runnable);
			display.syncExec(new Runnable() {
				@Override
				public void run() {
					if (!control.isDisposed()) {
						privilegedRunnable.run();
					}
				}
			});
		}
		@Override
		public String toString() {
			return runnable.toString();
		}
	};
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:28,代码来源:TransactionDisplayThread.java


示例13: reading

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static void reading(Object object, final Runnable runnable) {
	reading(object, new RunnableWithResult.Impl<Object>() {
		@Override
		public void run() {
			runnable.run();
		}

		@Override
		public String toString() {
			return runnable.toString();
		}
	});
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:14,代码来源:TransactionUtils.java


示例14: checkedWriting

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static <T> T checkedWriting(Object object, final RunnableWithResult<T> runnable, Map<Object, Object> options) throws InterruptedException, RollbackException {

		final EditingDomain domain = EMFUtils.getAnyDomain(object);
		if (domain instanceof TransactionalEditingDomain) {
			TransactionalEditingDomain transactionDomain = (TransactionalEditingDomain) domain;
			checkForDeadlock(transactionDomain);
			InternalTransaction transaction = ((TransactionalEditingDomainImpl) transactionDomain).getActiveTransaction();
			if ((transaction != null) && (transaction.getOwner() == Thread.currentThread()) && !transaction.isReadOnly()) {
				// nested writing
				runnable.run();
				return runnable.getResult();
			}
			TransactionalCommandStack stack = (TransactionalCommandStack) domain.getCommandStack();
			if (stack != null) {
				Map writingOptions = getWritingOptions(domain);
				Map newOptions = new HashMap();
				if (options != null) {
					newOptions.putAll(options);
				}
				if (writingOptions != null) {
					newOptions.putAll(writingOptions);
				}
				writingOptions = newOptions;
				stack.execute(new RunnableRecordingCommand("writing", runnable), writingOptions);
			} else {
				runnable.run();
			}
		} else {
			runnable.run();
		}
		return runnable.getResult();
	}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:33,代码来源:TransactionUtils.java


示例15: getReachableObjectsOfType

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static Collection<EObject> getReachableObjectsOfType(final EObject object, final EClassifier type) {
	if (object == null) {
		return Collections.emptyList();
	}
	Resource resource = object.eResource();
	if (resource != null) {
		ResourceSet resourceSet = resource.getResourceSet();
		if (resourceSet != null) {
			Map<EClassifier, Collection<EObject>> cache = TYPES_BY_RESOURCE_SET_CACHE.get(resourceSet);
			if (cache == null) {
				cache = new HashMap<EClassifier, Collection<EObject>>();
				TYPES_BY_RESOURCE_SET_CACHE.put(resourceSet, cache);
			}
			Collection<EObject> collection = cache.get(type);
			if (collection == null) {
				TransactionalEditingDomain domain = TransactionUtils.getDomain(resourceSet);
				if (domain != null) {
					collection = TransactionUtils.reading(domain, new RunnableWithResult.Impl<Collection<EObject>>() {
						@Override
						public void run() {
							try {
								setResult(ItemPropertyDescriptor.getReachableObjectsOfType(object, type));
								setStatus(Status.OK_STATUS);
							} catch (Exception e) {
								setStatus(new ExceptionStatus(Activator.PLUGIN_ID, "failed in reading", e));
							}
						}
					});
				} else {
					collection = ItemPropertyDescriptor.getReachableObjectsOfType(object, type);
				}
				cache.put(type, collection);
			}
			return collection;
		}
	}
	return ItemPropertyDescriptor.getReachableObjectsOfType(object, type);
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:39,代码来源:EMFUtils.java


示例16: transactional

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
public static <A, B> F<A, B> transactional(final F<A, B> f) {
	return new F<A, B>() {
		@Override
		public B f(final A a) {
			return TransactionUtils.reading(a, new RunnableWithResult.Impl<B>() {
				@Override
				public void run() {
					setResult(f.f(a));
				}
			});
		}
	};
}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:14,代码来源:ModelFunctions.java


示例17: getEditTextValidator

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
/**
 * @generated
 */
public ICellEditorValidator getEditTextValidator() {
	return new ICellEditorValidator() {

		public String isValid(final Object value) {
			if (value instanceof String) {
				final EObject element = getParserElement();
				final IParser parser = getParser();
				try {
					IParserEditStatus valid = (IParserEditStatus) getEditingDomain()
							.runExclusive(new RunnableWithResult.Impl() {

								public void run() {
									setResult(parser.isValidEditString(
											new EObjectAdapter(element),
											(String) value));
								}
							});
					return valid.getCode() == ParserEditStatus.EDITABLE ? null
							: valid.getMessage();
				} catch (InterruptedException ie) {
					ie.printStackTrace();
				}
			}

			// shouldn't get here
			return null;
		}
	};
}
 
开发者ID:road-framework,项目名称:ROADDesigner,代码行数:33,代码来源:ContractNameEditPart.java


示例18: getModelRootObjects

import org.eclipse.emf.transaction.RunnableWithResult; //导入依赖的package包/类
/**
 * Collect EMF root objects based on the specified file.
 * If the EMF resource, under the specified file, is not loaded in the editing domain, 
 * this method will return an empty list.
 * 
 * @param file IFile of the EMF resource.
 * @return List of the model root objects.
 */
public List<EObject> getModelRootObjects(final IFile file) {
	
	List<EObject> out = new ArrayList<>();
		
	try {
		List<EObject> eObjects = TransactionUtil.runExclusive(editingDomain, new RunnableWithResult.Impl<List<EObject>>(){
			
			@Override
			public void run() {
				Resource emfResource = getModelResource(file);
				
				if(emfResource == null){
					logger.warning("Requested resource is not contained in the "
							+ "'" + getName() + "' alternative resource set! Resource: " + file.getFullPath().toString());
					return;
				}

				if(emfResource.isLoaded() && !emfResource.getContents().isEmpty()){
					setResult(emfResource.getContents());
				}
			}
			
		});
		
		if(eObjects != null){
			out.addAll(eObjects);
		}
		
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
	
	return out;
}
 
开发者ID:CloudScale-Project,项目名称:Environment,代码行数:43,代码来源:EditorInputEMF.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Java Constructor类代码示例发布时间:2022-05-22
下一篇:
Java Property类代码示例发布时间: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