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

Java StateMachine类代码示例

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

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



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

示例1: buildMachine

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public StateMachine<States, Events> buildMachine() throws Exception {
	StateMachineBuilder.Builder<States, Events> builder = StateMachineBuilder.builder();

	builder.configureStates()
			.withStates()
			.initial(States.STATE1)
			.states(EnumSet.allOf(States.class));

	builder.configureTransitions()
			.withExternal()
			.source(States.STATE1).target(States.STATE2)
			.event(Events.EVENT1)
			.and()
			.withExternal()
			.source(States.STATE2).target(States.STATE1)
			.event(Events.EVENT2);

	return builder.build();
}
 
开发者ID:AgainstWind,项目名称:spring-cloud-demos,代码行数:20,代码来源:ServiceAApplication.java


示例2: buildMachineNoTransition

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public StateMachine<States, Events> buildMachineNoTransition() throws Exception {
    StateMachineBuilder.Builder<States, Events> builder = StateMachineBuilder.builder();

    builder.configureConfiguration()
           .withConfiguration()
           .taskExecutor(new SyncTaskExecutor())
    ;

    builder.configureStates()
           .withStates()
           .initial(States.SI)
           .state(States.S1)
           .states(EnumSet.allOf(States.class))
    ;


    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:19,代码来源:T1.java


示例3: buildMachineOnlyNormalStates

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public StateMachine<States, Events> buildMachineOnlyNormalStates() throws Exception {
    StateMachineBuilder.Builder<States, Events> builder = StateMachineBuilder.builder();

    builder.configureConfiguration()
           .withConfiguration()
           .taskExecutor(new SyncTaskExecutor())
    ;

    builder.configureStates()
           .withStates()
           .states(EnumSet.allOf(States.class))
    ;


    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:17,代码来源:T1.java


示例4: testFactory

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void testFactory() {
	StateMachineFactory<SkipperStates, SkipperEvents> factory = context.getBean(StateMachineFactory.class);
	assertThat(factory).isNotNull();
	StateMachine<SkipperStates, SkipperEvents> stateMachine = factory.getStateMachine("testFactory");
	assertThat(stateMachine).isNotNull();
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:8,代码来源:StateMachineTests.java


示例5: testSimpleInstallShouldNotError

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void testSimpleInstallShouldNotError() throws Exception {
	Mockito.when(packageService.downloadPackage(any()))
			.thenReturn(new org.springframework.cloud.skipper.domain.Package());
	Mockito.when(releaseService.install(any(), any())).thenReturn(new Release());

	Message<SkipperEvents> message = MessageBuilder
		.withPayload(SkipperEvents.INSTALL)
		.setHeader(SkipperEventHeaders.PACKAGE_METADATA, new PackageMetadata())
		.setHeader(SkipperEventHeaders.INSTALL_PROPERTIES, new InstallProperties())
		.setHeader(SkipperEventHeaders.VERSION, 1)
		.build();

	StateMachineFactory<SkipperStates, SkipperEvents> factory = context.getBean(StateMachineFactory.class);
	StateMachine<SkipperStates, SkipperEvents> stateMachine = factory.getStateMachine("testInstall");

	StateMachineTestPlan<SkipperStates, SkipperEvents> plan =
			StateMachineTestPlanBuilder.<SkipperStates, SkipperEvents>builder()
				.defaultAwaitTime(10)
				.stateMachine(stateMachine)
				.step()
					.expectStateMachineStarted(1)
					.expectStates(SkipperStates.INITIAL)
					.and()
				.step()
					.sendEvent(message)
					.expectStates(SkipperStates.INITIAL)
					.expectStateChanged(3)
					.expectStateEntered(SkipperStates.INSTALL,
							SkipperStates.INSTALL_INSTALL,
							SkipperStates.INITIAL)
					.and()
				.build();
	plan.test();

	Mockito.verify(errorAction, never()).execute(any());
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:38,代码来源:StateMachineTests.java


示例6: testSimpleUpgradeShouldNotError

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void testSimpleUpgradeShouldNotError() throws Exception {
	Mockito.when(releaseReportService.createReport(any())).thenReturn(new ReleaseAnalysisReport(new ArrayList<>(),
			new ReleaseDifference(), new Release(), new Release()));
	Mockito.when(upgradeStrategy.checkStatus(any()))
			.thenReturn(true);

	UpgradeRequest upgradeRequest = new UpgradeRequest();

	Message<SkipperEvents> message1 = MessageBuilder
			.withPayload(SkipperEvents.UPGRADE)
			.setHeader(SkipperEventHeaders.UPGRADE_REQUEST, upgradeRequest)
			.build();

	StateMachineFactory<SkipperStates, SkipperEvents> factory = context.getBean(StateMachineFactory.class);
	StateMachine<SkipperStates, SkipperEvents> stateMachine = factory.getStateMachine("testSimpleUpgradeShouldNotError");

	StateMachineTestPlan<SkipperStates, SkipperEvents> plan =
			StateMachineTestPlanBuilder.<SkipperStates, SkipperEvents>builder()
				.defaultAwaitTime(10)
				.stateMachine(stateMachine)
				.step()
					.expectStateMachineStarted(1)
					.expectStates(SkipperStates.INITIAL)
					.and()
				.step()
					.sendEvent(message1)
					.expectStates(SkipperStates.INITIAL)
					.expectStateChanged(9)
					.and()
				.build();
	plan.test();
	Mockito.verify(upgradeCancelAction, never()).execute(any());
	Mockito.verify(errorAction, never()).execute(any());
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:36,代码来源:StateMachineTests.java


示例7: processSubMachine

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
private void processSubMachine(Element aXml, StateMachine<S, E> aStateMachine) {
    Collection<State<S, E>> lStates = aStateMachine.getStates();
    if (aStateMachine.getInitialState() != null) {
        aXml.setAttribute("initial", aStateMachine.getInitialState().getId().toString());
    }

    processStates(aXml, lStates);
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:9,代码来源:SsmScxmlDumper.java


示例8: processMachine

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
private void processMachine(IMdtUml2Model.IMUStateMachine aSM, StateMachine<S, E> aStateMachine, State<S, E> aSsmParent) {
    IMdtUml2Model.IMURegionState lRootRegion = aSM.addRegion(
            new UuidId(aStateMachine.getUuid()),
            aSsmParent == null ? "root" : aSsmParent.getId() + "r0"
    );
    processRegion(lRootRegion, aStateMachine, aStateMachine.getInitialState());
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:8,代码来源:SsmMdtUml2Dumper.java


示例9: SsmDumper

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public SsmDumper(StateMachine<S, E> aStateMachine) {
    this(aStateMachine, new ChainedNamingStrategy(new INamingStrategy[]{
                 new GetFromMethodNamingStrategy("getName"),
                 new SimpleClassNameNamingStrategy(),
                 new GuessFromEnclosingMethodNamingStrategy(),
                 new ToStringNamingStrategy()
         }),
         new ChainedNamingStrategy(new INamingStrategy[]{
                 new GetFromMethodNamingStrategy("getName"),
                 new SimpleClassNameNamingStrategy(),
                 new GuessFromEnclosingMethodNamingStrategy(),
                 new ToStringNamingStrategy()
         })
    );
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:16,代码来源:SsmDumper.java


示例10: buildMachine

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public StateMachine<States, Events> buildMachine() throws Exception {
    StateMachineBuilder.Builder<States, Events> builder = StateMachineBuilder.builder();

    builder.configureConfiguration()
           .withConfiguration()
           .taskExecutor(new SyncTaskExecutor())
    ;

    builder.configureStates()
           .withStates()
           .initial(States.SI)
           .state(States.S1, new Action<States, Events>() {
               @Override
               public void execute(StateContext<States, Events> context) {
                   System.out.print("test");
               }
           }, null)
           .states(EnumSet.allOf(States.class))
    ;

    builder.configureTransitions()
           .withExternal()
           .source(States.SI).target(States.S1)
           .event(Events.E1)
           .and()
           .withLocal()
           .source(States.S2).target(States.S3)
           .event(Events.E1)
           .and()
           .withExternal()
           .source(States.S2).target(States.SE)
           .event(Events.E2)
           .and()
           .withExternal()
           .source(States.S1).target(States.SE)
           .event(Events.E2);

    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:40,代码来源:T1.java


示例11: buildUmlMachine

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public StateMachine<String, String> buildUmlMachine(String aPath) throws Exception {
    StateMachineBuilder.Builder<String, String> builder = StateMachineBuilder.builder();

    builder.configureModel().withModel().factory(new UmlStateMachineModelFactory(
            aPath
    ));
    builder.configureConfiguration()
           .withConfiguration()
           .taskExecutor(new SyncTaskExecutor())
    ;
    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:13,代码来源:SMHierarch1.java


示例12: build

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
static <S extends Enum<S>, E extends Enum<E>> StateMachine<S, E> build(EnumStateMachineConfigurerAdapter<S, E> aClass) throws Exception {
    StateMachineBuilder.Builder<S, E> builder = StateMachineBuilder.builder();
    aClass.configure(builder.configureConfiguration());
    aClass.configure(builder.configureModel());
    aClass.configure(builder.configureStates());
    aClass.configure(builder.configureTransitions());
    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:9,代码来源:SsmMdtUml2DumperTest.java


示例13: dumpAll

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void dumpAll() throws Exception {

    StateMachine<AllStates.States, AllStates.Events> lSM = (new AllStates()).buildMachine();
    SsmMdtUml2Dumper<AllStates.States, AllStates.Events> sut = new SsmMdtUml2Dumper<>(
            lSM
    );

    sut.dump();
    System.out.println(sut.asString());
    sut.save(new File(getBuildPath() + "/test_model_all"));
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:13,代码来源:SsmMdtUml2DumperTest.java


示例14: dumpChoice

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void dumpChoice() throws Exception {
    StateMachine<ChoiceJunctionSSM.ConfigChoice.States, ChoiceJunctionSSM.ConfigChoice.Events> lSM = build(
            new ChoiceJunctionSSM.ConfigChoice());
    SsmMdtUml2Dumper<ChoiceJunctionSSM.ConfigChoice.States, ChoiceJunctionSSM.ConfigChoice.Events> sut = new SsmMdtUml2Dumper<>(
            lSM);

    sut.dump();
    System.out.println(sut.asString());
    sut.save(new File(getBuildPath() + "/test_model_choice"));
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:12,代码来源:SsmMdtUml2DumperTest.java


示例15: dumpForkJoin

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void dumpForkJoin() throws Exception {
    StateMachine<JoinSM.Config14.States2, JoinSM.Config14.Events>     lSM = build(new JoinSM.Config14());
    SsmMdtUml2Dumper<JoinSM.Config14.States2, JoinSM.Config14.Events> sut = new SsmMdtUml2Dumper<>(lSM);

    sut.dump();
    System.out.println(sut.asString());
    sut.save(new File(getBuildPath() + "/test_model_forkjoin"));
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:10,代码来源:SsmMdtUml2DumperTest.java


示例16: dumpJoin

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void dumpJoin() throws Exception {
    StateMachine<JoinSM.Config15.States2, JoinSM.Config15.Events>     lSM = build(new JoinSM.Config15());
    SsmMdtUml2Dumper<JoinSM.Config15.States2, JoinSM.Config15.Events> sut = new SsmMdtUml2Dumper<>(lSM);

    sut.dump();
    System.out.println(sut.asString());
    sut.save(new File(getBuildPath() + "/test_model_join"));
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:10,代码来源:SsmMdtUml2DumperTest.java


示例17: dumpJunction

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Test
public void dumpJunction() throws Exception {
    StateMachine<ChoiceJunctionSSM.ConfigJunction.States, ChoiceJunctionSSM.ConfigJunction.Events> lSM = build(
            new ChoiceJunctionSSM.ConfigJunction());
    SsmMdtUml2Dumper<ChoiceJunctionSSM.ConfigJunction.States, ChoiceJunctionSSM.ConfigJunction.Events> sut = new SsmMdtUml2Dumper<>(
            lSM);

    sut.dump();
    System.out.println(sut.asString());
    sut.save(new File(getBuildPath() + "/test_model_junction"));
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:12,代码来源:SsmMdtUml2DumperTest.java


示例18: stateMachineStopped

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
@Override
public void stateMachineStopped(StateMachine<S, E> stateMachine) {
    if (!stateMachine.isComplete()) {
        State<S, E> currentState = stateMachine.getState();
        Long currentTime = System.currentTimeMillis();
        String fromId = currentState != null ? currentState.getId().toString() : "unknown";
        FlowDetails flowDetails = new FlowDetails("", flowType, "", flowId, fromId, "unknown", "FLOW_CANCEL",
                lastStateChange == -1L ? -1L : currentTime - lastStateChange);
        StructuredEvent structuredEvent = structuredFlowEventFactory.createStucturedFlowEvent(stackId, flowDetails, true);
        structuredEventClient.sendStructuredEvent(structuredEvent);
        lastStateChange = currentTime;
    }
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:14,代码来源:FlowStructuredEventHandler.java


示例19: FlowAdapter

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
public FlowAdapter(String flowId, StateMachine<S, E> flowMachine, MessageFactory<E> messageFactory, StateConverter<S> stateConverter,
        EventConverter<E> eventConverter, Class<? extends FlowConfiguration> flowConfigClass, FlowStructuredEventHandler flowStructuredEventHandler) {
    this.flowId = flowId;
    this.flowMachine = flowMachine;
    this.messageFactory = messageFactory;
    this.stateConverter = stateConverter;
    this.eventConverter = eventConverter;
    this.flowConfigClass = flowConfigClass;
    this.flowStructuredEventHandler = flowStructuredEventHandler;
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:11,代码来源:FlowAdapter.java


示例20: generate

import org.springframework.statemachine.StateMachine; //导入依赖的package包/类
private void generate() throws Exception {
    StringBuilder builder = new StringBuilder("digraph {\n");
    inject(flowConfiguration, "applicationContext", APP_CONTEXT);
    Flow flow = initializeFlow();
    StateMachine<FlowState, FlowEvent> stateMachine = getStateMachine(flow);
    FlowState init = stateMachine.getInitialState().getId();
    builder.append(generateStartPoint(init, flowConfiguration.getClass().getSimpleName())).append('\n');
    List<Transition<FlowState, FlowEvent>> transitions = (List<Transition<FlowState, FlowEvent>>) stateMachine.getTransitions();
    Map<String, FlowState> transitionsAlreadyDefined = new HashMap<>();
    transitionsAlreadyDefined.put(init.toString(), init);
    while (!transitions.isEmpty()) {
        for (Transition<FlowState, FlowEvent> transition : new ArrayList<>(transitions)) {
            FlowState source = transition.getSource().getId();
            FlowState target = transition.getTarget().getId();
            if (transitionsAlreadyDefined.values().contains(source)) {
                String id = generateTransitionId(source, target, transition.getTrigger().getEvent());
                if (!transitionsAlreadyDefined.keySet().contains(id)) {
                    if (target.action() != null && !transitionsAlreadyDefined.values().contains(target)) {
                        builder.append(generateState(target, target.action().getSimpleName())).append('\n');
                    }
                    builder.append(generateTransition(source, target, transition.getTrigger().getEvent())).append('\n');
                    transitionsAlreadyDefined.put(id, target);
                }
                transitions.remove(transition);
            }
        }
    }
    saveToFile(builder.append('}').toString());
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:30,代码来源:OfflineStateGenerator.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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