List of usage examples for org.springframework.beans.factory.config BeanDefinition getConstructorArgumentValues
ConstructorArgumentValues getConstructorArgumentValues();
From source file:org.statefulj.framework.core.model.impl.MemoryPersistenceSupportBeanFactoryImpl.java
@Override public BeanDefinition buildPersisterBean(Class<?> statefulClass, String repoBeanId, BeanDefinition repoBeanDefinitionFactory, String stateFieldName, String startStateId, List<RuntimeBeanReference> stateBeans) { BeanDefinition persisterBean = BeanDefinitionBuilder.genericBeanDefinition(MemoryPersisterImpl.class) .getBeanDefinition();//from ww w. ja v a 2 s . c o m ConstructorArgumentValues args = persisterBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, stateBeans); args.addIndexedArgumentValue(1, new RuntimeBeanReference(startStateId)); args.addIndexedArgumentValue(2, stateFieldName); return persisterBean; }
From source file:org.statefulj.framework.core.StatefulFactory.java
/** * @param referenceFactory//from w w w .ja v a 2s. com * @param from * @param to * @param reload * @param transition * @param transitionId * @param reg * @param actionRef */ private void registerTransition(ReferenceFactory referenceFactory, String from, String to, boolean reload, Transition transition, String transitionId, BeanDefinitionRegistry reg, RuntimeBeanReference actionRef) { // Build the Transition Bean // BeanDefinition transitionBean = BeanDefinitionBuilder.genericBeanDefinition(TransitionImpl.class) .getBeanDefinition(); String fromId = referenceFactory.getStateId(from); String toId = referenceFactory.getStateId(to); Pair<String, String> providerEvent = parseEvent(transition.event()); ConstructorArgumentValues args = transitionBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, new RuntimeBeanReference(fromId)); args.addIndexedArgumentValue(1, new RuntimeBeanReference(toId)); args.addIndexedArgumentValue(2, providerEvent.getRight()); args.addIndexedArgumentValue(3, actionRef); args.addIndexedArgumentValue(4, (transition.from().equals(Transition.ANY_STATE) && transition.to().equals(Transition.ANY_STATE))); args.addIndexedArgumentValue(5, reload); reg.registerBeanDefinition(transitionId, transitionBean); }
From source file:org.statefulj.framework.core.StatefulFactory.java
/** * @param referenceFactory/*from w w w. ja v a 2 s .co m*/ * @param method * @param isDomainEntity * @param controllerRef * @param reg * @param actionId */ private void registerMethodInvocationAction(ReferenceFactory referenceFactory, Method method, boolean isDomainEntity, RuntimeBeanReference controllerRef, BeanDefinitionRegistry reg, String actionId) { // Choose the type of invocationAction based off of // whether the controller is a DomainEntity // Class<?> methodInvocationAction = (isDomainEntity) ? DomainEntityMethodInvocationAction.class : MethodInvocationAction.class; BeanDefinition actionBean = BeanDefinitionBuilder.genericBeanDefinition(methodInvocationAction) .getBeanDefinition(); ConstructorArgumentValues args = actionBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, method.getName()); args.addIndexedArgumentValue(1, method.getParameterTypes()); args.addIndexedArgumentValue(2, new RuntimeBeanReference(referenceFactory.getFSMId())); if (!isDomainEntity) { args.addIndexedArgumentValue(3, controllerRef); } reg.registerBeanDefinition(actionId, actionBean); }
From source file:org.statefulj.framework.core.StatefulFactory.java
private String registerState(ReferenceFactory referenceFactory, Class<?> statefulControllerClass, String state, boolean isBlocking, BeanDefinitionRegistry reg) { String stateId = referenceFactory.getStateId(state); BeanDefinition stateBean = BeanDefinitionBuilder.genericBeanDefinition(StateImpl.class).getBeanDefinition(); ConstructorArgumentValues args = stateBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, state); args.addIndexedArgumentValue(1, false); args.addIndexedArgumentValue(2, isBlocking); reg.registerBeanDefinition(stateId, stateBean); return stateId; }
From source file:org.statefulj.framework.core.StatefulFactory.java
private String registerFSM(ReferenceFactory referenceFactory, Class<?> statefulControllerClass, StatefulController scAnnotation, String persisterId, Class<?> managedClass, String finderId, Class<? extends Annotation> idAnnotationType, BeanDefinitionRegistry reg) { int retryAttempts = scAnnotation.retryAttempts(); int retryInterval = scAnnotation.retryInterval(); String fsmBeanId = referenceFactory.getFSMId(); BeanDefinition fsmBean = BeanDefinitionBuilder.genericBeanDefinition(FSM.class).getBeanDefinition(); ConstructorArgumentValues args = fsmBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, fsmBeanId); args.addIndexedArgumentValue(1, new RuntimeBeanReference(persisterId)); args.addIndexedArgumentValue(2, retryAttempts); args.addIndexedArgumentValue(3, retryInterval); args.addIndexedArgumentValue(4, managedClass); args.addIndexedArgumentValue(5, idAnnotationType); args.addIndexedArgumentValue(6, this.appContext); if (finderId != null) { args.addIndexedArgumentValue(7, new RuntimeBeanReference(finderId)); }/*from ww w. j av a 2 s . c o m*/ reg.registerBeanDefinition(fsmBeanId, fsmBean); return fsmBeanId; }
From source file:org.statefulj.framework.core.StatefulFactory.java
private String registerStatefulFSMBean(ReferenceFactory referenceFactory, Class<?> statefulClass, String fsmBeanId, String factoryId, List<String> transitionIds, BeanDefinitionRegistry reg) { String statefulFSMBeanId = referenceFactory.getStatefulFSMId(); BeanDefinition statefulFSMBean = BeanDefinitionBuilder.genericBeanDefinition(StatefulFSMImpl.class) .getBeanDefinition();/*from w w w . j av a 2 s . c o m*/ ConstructorArgumentValues args = statefulFSMBean.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, new RuntimeBeanReference(fsmBeanId)); args.addIndexedArgumentValue(1, statefulClass); args.addIndexedArgumentValue(2, new RuntimeBeanReference(factoryId)); reg.registerBeanDefinition(statefulFSMBeanId, statefulFSMBean); statefulFSMBean.setDependsOn(transitionIds.toArray(new String[] {})); return statefulFSMBeanId; }