String className = mapping.getType(); if (log.isDebugEnabled()) { log.debug(" Looking for Action instance for class " + className);
/** * 指定されたモジュールに属し、指定されたActionのコンポーネント名に対応付けられた{@link ActionConfig}を返します。 * * @param module * @param componentName * @return */ public static ActionConfig findActionConfigForComponentName(String module, String componentName) { if (!ModuleConfigUtil.getContainer().hasComponentDef(componentName)) { return null; } Class clazz = ModuleConfigUtil.getContainer().getComponentDef(componentName).getComponentClass(); ModuleConfig config = ModuleConfigUtil.getModuleConfig(module); if (config == null) { return null; } ActionConfig[] actionConfigs = config.findActionConfigs(); for (int i = 0; i < actionConfigs.length; i++) { if (actionConfigs[i].getType() == null) { continue; } Class actionClass = ClassUtil.forName(actionConfigs[i].getType()); if (actionClass.isAssignableFrom(clazz)) { return actionConfigs[i]; } } return null; }
String type = actionConfig.getType();
/** * Strtusの設定情報から{@link Action}のコンポーネント定義を作成しS2コンテナに自動登録します。 * <p> * ただし、同一クラスのコンポーネントがすでに登録されている場合は登録を行いません。 * </p> * * @param servlet * {@link ActionServlet} * @param config * {@link ModuleConfig} */ public static void registerActionClass(ActionServlet servlet, ModuleConfig config) { S2Container container = SingletonS2ContainerFactory.getContainer(); ActionConfig[] actionConfigs = config.findActionConfigs(); ClassRegister classRegister = (ClassRegister) container.getComponent(ClassRegister.class); for (int i = 0; i < actionConfigs.length; i++) { ActionConfig actionConfig = actionConfigs[i]; String actionClassName = actionConfig.getType(); if (actionClassName != null) { Class actionClass = classRegister.getClass(actionClassName); if (actionClass.isInterface() == false) { ComponentDef def = new ComponentDefImpl(actionClass); if (actionClass.equals(ProxyAction.class) == false) { def.setInstanceDef(InstanceDefFactory.PROTOTYPE); } register(container, actionClass, def); } } } }
aconfigs[i].setModuleConfig(moduleConfig); try { Class actionClass = Class.forName(aconfigs[i].getType()); if (!tmpActions.contains(actionClass)) { tmpActions.add(actionClass);
config.setType(convertParam(orig.getType(), vars)); config.setRoles(convertParam(orig.getRoles(), vars)); config.setParameter(convertParam(orig.getParameter(), vars));
config.setType(convertParam(orig.getType(), vars)); config.setRoles(convertParam(orig.getRoles(), vars)); config.setParameter(convertParam(orig.getParameter(), vars));