01: /*
02: * Copyright 2005-2006 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
05: * in compliance with the License. You may obtain a copy of the License at
06: *
07: * http://www.apache.org/licenses/LICENSE-2.0
08: *
09: * Unless required by applicable law or agreed to in writing, software distributed under the License
10: * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11: * or implied. See the License for the specific language governing permissions and limitations under
12: * the License.
13: */
14:
15: package org.strecks.navigate;
16:
17: import org.strecks.context.ActionContext;
18: import org.strecks.util.Assert;
19: import org.strecks.util.ReflectHelper;
20: import org.strecks.view.ViewAdapter;
21:
22: /**
23: * Contains navigation related utility methods
24: * @author Phil Zoio
25: */
26: public class NavigateUtils {
27:
28: @SuppressWarnings("unchecked")
29: public static ViewAdapter findActionForward(
30: NavigationHolder navigationHolder, Object actionBean,
31: ActionContext actionContext) {
32:
33: Assert.notNull(navigationHolder);
34: Assert.notNull(actionBean);
35: Assert.notNull(actionContext);
36:
37: if (navigationHolder == null) {
38: return null;
39: }
40:
41: Object navigationResult = ReflectHelper.invokeMethod(
42: actionBean, navigationHolder.getMethod());
43:
44: if (navigationResult == null) {
45: return null;
46: }
47:
48: NavigationHandler handler = navigationHolder.getHandler();
49: return handler
50: .getActionForward(actionContext, navigationResult);
51:
52: }
53:
54: }
|