• R/O
  • SSH
  • HTTPS

phosphoresce: Commit


Commit MetaInfo

Revision310 (tree)
Time2013-07-08 01:10:33
Authorbbcry

Log Message

(empty log message)

Change Summary

Incremental Difference

--- develop/Phosphoresce_Java_Webcore/trunk/webfw_struts/org/phosphoresce/webcore/struts/util/StrutsUtil.java (revision 309)
+++ develop/Phosphoresce_Java_Webcore/trunk/webfw_struts/org/phosphoresce/webcore/struts/util/StrutsUtil.java (revision 310)
@@ -19,9 +19,9 @@
1919 import org.phosphoresce.webcore.struts.StrutsConstants;
2020 import org.phosphoresce.webcore.struts.action.AbstractAction;
2121 import org.phosphoresce.webcore.struts.action.AbstractForm;
22+import org.phosphoresce.webcore.struts.action.AbstractLogic;
2223 import org.phosphoresce.webcore.struts.action.ServletContainer;
2324 import org.phosphoresce.webcore.struts.action.WindowSessionContainer;
24-import org.phosphoresce.webcore.struts.annotation.StrutsMethod;
2525 import org.phosphoresce.webcore.struts.exception.StrutsProcessInternalException;
2626
2727 /**
@@ -278,6 +278,20 @@
278278 }
279279
280280 /**
281+ * 指定されたアクションパスの定数インタフェースクラス名(SimpleName)を取得します。<br>
282+ * @param actionPath アクションパス
283+ * @return 定数インタフェースクラス名(SimpleName)
284+ */
285+ public static String getConstantsClassSimpleName(String actionPath) {
286+ String function = getRequestFunction(actionPath);
287+ String className = EMPTY_STRING;
288+ if (!StringUtil.isEmpty(function)) {
289+ className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_CONSTANTS);
290+ }
291+ return className;
292+ }
293+
294+ /**
281295 * 指定されたアクションパスのアクションクラス名(SimpleName)を取得します。<br>
282296 * @param actionPath アクションパス
283297 * @return アクションクラス名(SimpleName)
@@ -292,101 +306,194 @@
292306 }
293307
294308 /**
295- * 指定されたアクションパスのアクションクラス名(FQCN)を取得します。<br>
309+ * 指定されたアクションパスのフォームクラス名(SimpleName)を取得します。<br>
296310 * @param actionPath アクションパス
297- * @return アクションクラス名(FQCN)
311+ * @return フォームクラス名(SimpleName)
298312 */
299- public static String getActionClassName(String actionPath) {
313+ public static String getFormClassSimpleName(String actionPath) {
300314 String function = getRequestFunction(actionPath);
301315 String className = EMPTY_STRING;
302316 if (!StringUtil.isEmpty(function)) {
303- className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_ACTION);
317+ className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_FORM);
304318 }
305319 return className;
306320 }
307321
308322 /**
309- * 指定されたアクションパスのアクションクラスを取得します。<br>
323+ * 指定されたアクションパスのロジッククラス名(SimpleName)を取得します。<br>
310324 * @param actionPath アクションパス
311- * @return アクションクラス
325+ * @return ロジッククラス名(SimpleName)
312326 */
313- @SuppressWarnings("unchecked")
314- public static Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> getActionClass(String actionPath) {
315- try {
316- Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> clazz = null;
317- String className = getActionClassName(actionPath);
318- if (!StringUtil.isEmpty(className)) {
319- clazz = (Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>>) Class.forName(className);
320- }
321- return clazz;
322- } catch (Throwable e) {
323- throw new StrutsProcessInternalException("FSTR09007", new Object[] { actionPath }, e);
327+ public static String getLogicClassSimpleName(String actionPath) {
328+ String function = getRequestFunction(actionPath);
329+ String className = EMPTY_STRING;
330+ if (!StringUtil.isEmpty(function)) {
331+ className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_LOGIC);
324332 }
333+ return className;
325334 }
326335
327336 /**
328- * 指定されたアクションパスのアクションメソッドを取得します。<br>
337+ * 指定されたアクションパスのセッションクラス名(SimpleName)を取得します。<br>
329338 * @param actionPath アクションパス
330- * @return アクションメソッド
339+ * @return セッションクラス名(SimpleName)
331340 */
332- public static Method getActionMethod(String actionPath) {
333- Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> actionClass = getActionClass(actionPath);
334- if (actionClass == null) {
335- throw new StrutsProcessInternalException("FSTR09006", new Object[] { actionPath });
341+ public static String getSessionClassSimpleName(String actionPath) {
342+ String function = getRequestFunction(actionPath);
343+ String className = EMPTY_STRING;
344+ if (!StringUtil.isEmpty(function)) {
345+ className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_SESSION);
336346 }
337-
338- Class<? extends AbstractForm<? extends Serializable>> formClass = getFormClass(actionPath);
339- String methodName = getRequestFunctionMethod(actionPath);
340- Method method = ReflectionUtil.getMethod(actionClass, methodName, formClass, WindowSessionContainer.class, ServletContainer.class);
341-
342- StrutsMethod strutsActionMethod = method.getAnnotation(StrutsMethod.class);
343- if (strutsActionMethod == null) {
344- throw new StrutsProcessInternalException("FSTR09005", new Object[] { actionClass.getName(), methodName });
345- }
346-
347- return method;
347+ return className;
348348 }
349349
350350 /**
351- * 指定されたアクションパスのフォームクラス名(SimpleName)を取得します。<br>
351+ * 指定されたアクションパスのユーティリティクラス名(SimpleName)を取得します。<br>
352352 * @param actionPath アクションパス
353- * @return フォームクラス名(SimpleName)
353+ * @return ユーティリティクラス名(SimpleName)
354354 */
355- public static String getFormClassSimpleName(String actionPath) {
355+ public static String getUtilClassSimpleName(String actionPath) {
356356 String function = getRequestFunction(actionPath);
357357 String className = EMPTY_STRING;
358358 if (!StringUtil.isEmpty(function)) {
359- className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_FORM);
359+ className = function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_UTIL);
360360 }
361361 return className;
362362 }
363363
364364 /**
365+ * 指定されたアクションパスの定数インタフェースクラス名(FQCN)を取得します。<br>
366+ * @param actionPath アクションパス
367+ * @return 定数インタフェースクラス名(FQCN)
368+ */
369+ public static String getConstantsClassName(String actionPath) {
370+ String className = getConstantsClassSimpleName(actionPath);
371+ if (!StringUtil.isEmpty(className)) {
372+ String function = getRequestFunction(actionPath);
373+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
374+ }
375+ return className;
376+ }
377+
378+ /**
379+ * 指定されたアクションパスのアクションクラス名(FQCN)を取得します。<br>
380+ * @param actionPath アクションパス
381+ * @return アクションクラス名(FQCN)
382+ */
383+ public static String getActionClassName(String actionPath) {
384+ String className = getActionClassSimpleName(actionPath);
385+ if (!StringUtil.isEmpty(className)) {
386+ String function = getRequestFunction(actionPath);
387+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
388+ }
389+ return className;
390+ }
391+
392+ /**
365393 * 指定されたアクションパスのフォームクラス名(FQCN)を取得します。<br>
366394 * @param actionPath アクションパス
367395 * @return フォームクラス名(FQCN)
368396 */
369397 public static String getFormClassName(String actionPath) {
370- String function = getRequestFunction(actionPath);
371- String className = EMPTY_STRING;
372- if (!StringUtil.isEmpty(function)) {
373- className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + function + Config.getString(StrutsConfigNames.STRUTS_CLASS_SUFFIX_FORM);
398+ String className = getFormClassSimpleName(actionPath);
399+ if (!StringUtil.isEmpty(className)) {
400+ String function = getRequestFunction(actionPath);
401+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
374402 }
375403 return className;
376404 }
377405
378406 /**
407+ * 指定されたアクションパスのロジッククラス名(FQCN)を取得します。<br>
408+ * @param actionPath アクションパス
409+ * @return ロジッククラス名(FQCN)
410+ */
411+ public static String getLogicClassName(String actionPath) {
412+ String className = getLogicClassSimpleName(actionPath);
413+ if (!StringUtil.isEmpty(className)) {
414+ String function = getRequestFunction(actionPath);
415+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
416+ }
417+ return className;
418+ }
419+
420+ /**
421+ * 指定されたアクションパスのセッションクラス名(FQCN)を取得します。<br>
422+ * @param actionPath アクションパス
423+ * @return セッションクラス名(FQCN)
424+ */
425+ public static String getSessionClassName(String actionPath) {
426+ String className = getSessionClassSimpleName(actionPath);
427+ if (!StringUtil.isEmpty(className)) {
428+ String function = getRequestFunction(actionPath);
429+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
430+ }
431+ return className;
432+ }
433+
434+ /**
435+ * 指定されたアクションパスのユーティリティクラス名(FQCN)を取得します。<br>
436+ * @param actionPath アクションパス
437+ * @return ユーティリティクラス名(FQCN)
438+ */
439+ public static String getUtilClassName(String actionPath) {
440+ String className = getUtilClassSimpleName(actionPath);
441+ if (!StringUtil.isEmpty(className)) {
442+ String function = getRequestFunction(actionPath);
443+ className = Config.getString(StrutsConfigNames.STRUTS_ACTION_PACKAGE) + "." + function + "." + className;
444+ }
445+ return className;
446+ }
447+
448+ /**
449+ * 指定されたアクションパスの定数インタフェースクラスを取得します。<br>
450+ * @param actionPath アクションパス
451+ * @return アクションクラス
452+ */
453+ public static Class<?> getConstantsClass(String actionPath) {
454+ try {
455+ Class<?> clazz = null;
456+ String className = getConstantsClassName(actionPath);
457+ if (!StringUtil.isEmpty(className)) {
458+ clazz = (Class<?>) Class.forName(className);
459+ }
460+ return clazz;
461+ } catch (ClassNotFoundException e) {
462+ return null;
463+ }
464+ }
465+
466+ /**
467+ * 指定されたアクションパスのアクションクラスを取得します。<br>
468+ * @param actionPath アクションパス
469+ * @return アクションクラス
470+ */
471+ @SuppressWarnings("unchecked")
472+ public static Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> getActionClass(String actionPath) {
473+ try {
474+ Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> clazz = null;
475+ String className = getActionClassName(actionPath);
476+ if (!StringUtil.isEmpty(className)) {
477+ clazz = (Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>>) Class.forName(className);
478+ }
479+ return clazz;
480+ } catch (ClassNotFoundException e) {
481+ return null;
482+ }
483+ }
484+
485+ /**
379486 * 指定されたアクションパスのフォームクラスを取得します。<br>
380487 * @param actionPath アクションパス
381488 * @return フォームクラス
382489 */
383490 @SuppressWarnings("unchecked")
384- public static Class<AbstractForm<? extends Serializable>> getFormClass(String actionPath) {
491+ public static Class<? extends AbstractForm<? extends Serializable>> getFormClass(String actionPath) {
385492 try {
386- Class<AbstractForm<? extends Serializable>> clazz = null;
493+ Class<? extends AbstractForm<? extends Serializable>> clazz = null;
387494 String className = getFormClassName(actionPath);
388495 if (!StringUtil.isEmpty(className)) {
389- clazz = (Class<AbstractForm<? extends Serializable>>) Class.forName(className);
496+ clazz = (Class<? extends AbstractForm<? extends Serializable>>) Class.forName(className);
390497 }
391498 return clazz;
392499 } catch (ClassNotFoundException e) {
@@ -395,6 +502,76 @@
395502 }
396503
397504 /**
505+ * 指定されたアクションパスのロジッククラスを取得します。<br>
506+ * @param actionPath アクションパス
507+ * @return ロジッククラス
508+ */
509+ @SuppressWarnings("unchecked")
510+ public static Class<? extends AbstractLogic<? extends Serializable>> getLogicClass(String actionPath) {
511+ try {
512+ Class<? extends AbstractLogic<? extends Serializable>> clazz = null;
513+ String className = getLogicClassName(actionPath);
514+ if (!StringUtil.isEmpty(className)) {
515+ clazz = (Class<? extends AbstractLogic<? extends Serializable>>) Class.forName(className);
516+ }
517+ return clazz;
518+ } catch (ClassNotFoundException e) {
519+ return null;
520+ }
521+ }
522+
523+ /**
524+ * 指定されたアクションパスのセッションクラスを取得します。<br>
525+ * @param actionPath アクションパス
526+ * @return セッションクラス
527+ */
528+ @SuppressWarnings("unchecked")
529+ public static Class<?> getSessionClass(String actionPath) {
530+ try {
531+ Class<?> clazz = null;
532+ String className = getSessionClassName(actionPath);
533+ if (!StringUtil.isEmpty(className)) {
534+ clazz = (Class<? extends AbstractLogic<? extends Serializable>>) Class.forName(className);
535+ }
536+ return clazz;
537+ } catch (ClassNotFoundException e) {
538+ return null;
539+ }
540+ }
541+
542+ /**
543+ * 指定されたアクションパスのユーティリティクラスを取得します。<br>
544+ * @param actionPath アクションパス
545+ * @return ユーティリティクラス
546+ */
547+ @SuppressWarnings("unchecked")
548+ public static Class<?> getUtilClass(String actionPath) {
549+ try {
550+ Class<?> clazz = null;
551+ String className = getUtilClassName(actionPath);
552+ if (!StringUtil.isEmpty(className)) {
553+ clazz = (Class<? extends AbstractLogic<? extends Serializable>>) Class.forName(className);
554+ }
555+ return clazz;
556+ } catch (ClassNotFoundException e) {
557+ return null;
558+ }
559+ }
560+
561+ /**
562+ * 指定されたアクションパスのアクションメソッドを取得します。<br>
563+ * @param actionPath アクションパス
564+ * @return アクションメソッド
565+ */
566+ public static Method getActionMethod(String actionPath) {
567+ Class<? extends AbstractAction<? extends Serializable, AbstractForm<? extends Serializable>>> actionClass = getActionClass(actionPath);
568+ Class<? extends AbstractForm<? extends Serializable>> formClass = getFormClass(actionPath);
569+ String methodName = getRequestFunctionMethod(actionPath);
570+ Method method = ReflectionUtil.getMethod(actionClass, methodName, formClass, WindowSessionContainer.class, ServletContainer.class);
571+ return method;
572+ }
573+
574+ /**
398575 * 指定されたActionMessagesにActionMessageが含まれているか判定します。<br>
399576 * @param savedMessages ActionMessagesオブジェクト
400577 * @param message ActionMessageオブジェクト
--- develop/Phosphoresce_Java_Webcore/trunk/webfw_struts/org/phosphoresce/webcore/struts/StrutsConfigNames.java (revision 309)
+++ develop/Phosphoresce_Java_Webcore/trunk/webfw_struts/org/phosphoresce/webcore/struts/StrutsConfigNames.java (revision 310)
@@ -20,6 +20,9 @@
2020 /** ディフォルトアクションメソッド */
2121 public static final StrutsConfigNames STRUTS_ACTION_DEFAULT = new StrutsConfigNames("strtus.action.method.default");
2222
23+ /** 定数インタフェースクラスサフィックス */
24+ public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_CONSTANTS = new StrutsConfigNames("strtus.class.suffix.constants");
25+
2326 /** アクションクラスサフィックス */
2427 public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_ACTION = new StrutsConfigNames("strtus.class.suffix.action");
2528
@@ -26,9 +29,15 @@
2629 /** フォームクラスサフィックス */
2730 public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_FORM = new StrutsConfigNames("strtus.class.suffix.form");
2831
32+ /** ロジッククラスサフィックス */
33+ public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_LOGIC = new StrutsConfigNames("strtus.class.suffix.logic");
34+
2935 /** 画面セッションクラスサフィックス */
3036 public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_SESSION = new StrutsConfigNames("strtus.class.suffix.session");
3137
38+ /** ユーティリティクラスサフィックス */
39+ public static final StrutsConfigNames STRUTS_CLASS_SUFFIX_UTIL = new StrutsConfigNames("strtus.class.suffix.util");
40+
3241 /** ルートアクションURL(アクション未指定時にリダイレクトするパス) */
3342 public static final StrutsConfigNames STRUTS_URL_INDEX = new StrutsConfigNames("struts.url.index");
3443
--- develop/Phosphoresce_Java_Webcore/trunk/sample_struts/org/phosphoresce/webcore/struts/sample/function/FS00001/FS00001Form.java (revision 309)
+++ develop/Phosphoresce_Java_Webcore/trunk/sample_struts/org/phosphoresce/webcore/struts/sample/function/FS00001/FS00001Form.java (nonexistent)
@@ -1,39 +0,0 @@
1-package org.phosphoresce.webcore.struts.sample.function.FS00001;
2-
3-import org.phosphoresce.webcore.hibernate4.model.SMUser;
4-import org.phosphoresce.webcore.struts.action.ServletContainer;
5-import org.phosphoresce.webcore.struts.action.WindowSessionContainer;
6-import org.phosphoresce.webcore.struts.sample.common.action.SampleForm;
7-
8-/**
9- * サンプル機能フォームクラス(ログイン画面)<br>
10- *
11- * @author Kitagawa<br>
12- *
13- *<!--
14- * 更新日 更新者 更新内容
15- * 2010/07/03 Kitagawa 新規作成
16- *-->
17- */
18-public class FS00001Form extends SampleForm {
19-
20- /**
21- * フォームオブジェクトをリセットします。<br>
22- * @param servlet サーブレットコンテナオブジェクト
23- * @param session ウィンドウセッションオブジェクト
24- * @see org.phosphoresce.webcore.struts.action.AbstractForm#reset(org.phosphoresce.webcore.struts.action.ServletContainer, org.phosphoresce.webcore.struts.action.WindowSessionContainer)
25- */
26- @Override
27- public void reset(ServletContainer<SMUser> servlet, WindowSessionContainer<SMUser> session) {
28- }
29-
30- /**
31- * フォームオブジェクトを初期化します。<br>
32- * @param servlet サーブレットコンテナオブジェクト
33- * @param session ウィンドウセッションオブジェクト
34- * @see org.phosphoresce.webcore.struts.action.AbstractForm#init(org.phosphoresce.webcore.struts.action.ServletContainer, org.phosphoresce.webcore.struts.action.WindowSessionContainer)
35- */
36- @Override
37- public void init(ServletContainer<SMUser> servlet, WindowSessionContainer<SMUser> session) {
38- }
39-}
--- develop/Phosphoresce_Java_Webcore/trunk/sample_struts/org/phosphoresce/webcore/struts/sample/function/FS00001/_FS00001Form.java (nonexistent)
+++ develop/Phosphoresce_Java_Webcore/trunk/sample_struts/org/phosphoresce/webcore/struts/sample/function/FS00001/_FS00001Form.java (revision 310)
@@ -0,0 +1,39 @@
1+package org.phosphoresce.webcore.struts.sample.function.FS00001;
2+
3+import org.phosphoresce.webcore.hibernate4.model.SMUser;
4+import org.phosphoresce.webcore.struts.action.ServletContainer;
5+import org.phosphoresce.webcore.struts.action.WindowSessionContainer;
6+import org.phosphoresce.webcore.struts.sample.common.action.SampleForm;
7+
8+/**
9+ * サンプル機能フォームクラス(ログイン画面)<br>
10+ *
11+ * @author Kitagawa<br>
12+ *
13+ *<!--
14+ * 更新日 更新者 更新内容
15+ * 2010/07/03 Kitagawa 新規作成
16+ *-->
17+ */
18+public class _FS00001Form extends SampleForm {
19+
20+ /**
21+ * フォームオブジェクトをリセットします。<br>
22+ * @param servlet サーブレットコンテナオブジェクト
23+ * @param session ウィンドウセッションオブジェクト
24+ * @see org.phosphoresce.webcore.struts.action.AbstractForm#reset(org.phosphoresce.webcore.struts.action.ServletContainer, org.phosphoresce.webcore.struts.action.WindowSessionContainer)
25+ */
26+ @Override
27+ public void reset(ServletContainer<SMUser> servlet, WindowSessionContainer<SMUser> session) {
28+ }
29+
30+ /**
31+ * フォームオブジェクトを初期化します。<br>
32+ * @param servlet サーブレットコンテナオブジェクト
33+ * @param session ウィンドウセッションオブジェクト
34+ * @see org.phosphoresce.webcore.struts.action.AbstractForm#init(org.phosphoresce.webcore.struts.action.ServletContainer, org.phosphoresce.webcore.struts.action.WindowSessionContainer)
35+ */
36+ @Override
37+ public void init(ServletContainer<SMUser> servlet, WindowSessionContainer<SMUser> session) {
38+ }
39+}
Show on old repository browser