Changes for page ERRest In Depth

Last modified by Pascal Robert on 2012/06/10 16:01

From version 45.1
edited by Pascal Robert
on 2012/06/10 16:01
Change comment: There is no comment for this version
To version 41.1
edited by Pascal Robert
on 2012/06/10 15:08
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -20,112 +20,16 @@
20 20  
21 21  {{code}}
22 22  
23 -Application.dispatchRequest ->
24 -ERXRouteRequestHandler.handleRequest ->
25 -ERXRouteRequestHandler._handleRequest ->
26 -RestEntitiesController(ERXRouteController).performActionNamed(String actionName, false throwExceptions) ->
27 -RestEntitiesController(ERXRouteController).performRouteActionNamed -> RestEntitiesController(ERXRouteController).performActionWithArguments(Method, Object...) ->
28 -Method.invoke -> ...
23 +Application.dispatchRequest ->
24 +ERXRouteRequestHandler.handleRequest ->
25 +ERXRouteRequestHandler._handleRequest ->
26 +RestEntitiesController(ERXRouteController).performActionNamed ->
27 +RestEntitiesController(ERXRouteController).performRouteActionNamed -> RestEntitiesController(ERXRouteController).performActionWithArguments(Method, Object...) ->
28 +Method.invoke -> ...
29 29  RestEntitiesController.indexAction()
30 30  
31 31  {{/code}}
32 32  
33 -performActionNamed:
34 -
35 -{{code}}
36 -
37 -if (transactionAdaptor.transactionsEnabled() && !transactionAdaptor.isExecutingTransaction(context(), request())) {
38 - if (!transactionAdaptor.willHandleRequest(context(), request())) {
39 - if (transactionAdaptor.didHandleRequest(context(), request())) {
40 - results = stringResponse("Transaction request enqueued.");
41 - } else {
42 - results = stringResponse("Transaction executed.");
43 - }
44 - }
45 -}
46 -
47 -if (results == null) {
48 - checkAccess();
49 -}
50 -
51 -if (results == null && isAutomaticHtmlRoutingEnabled() && format() == ERXRestFormat.html()) {
52 - results = performHtmlActionNamed(actionName);
53 -}
54 -
55 -if (results == null) {
56 - results = performRouteActionNamed(actionName);
57 -}
58 -
59 -if (results == null) {
60 - results = response(null, ERXKeyFilter.filterWithAttributes());
61 -}
62 -else if (results instanceof IERXRouteComponent) {
63 - _takeRouteParametersFromRequest(results);
64 -}
65 -
66 -{{/code}}
67 -
68 -ERXRouteController.checkAccess()
69 -
70 -Will do nothing by default. Override it to check for security.
71 -
72 -{{code}}
73 -
74 -protected void checkAccess() throws SecurityException {
75 -}
76 -
77 -{{/code}}
78 -
79 -ERXRouteController.performHtmlActionNamed
80 -
81 -{{code}}
82 -
83 - protected WOActionResults performHtmlActionNamed(String actionName) throws Exception {
84 - WOActionResults results = null;
85 -
86 - String pageName = pageNameForAction(actionName);
87 - if (_NSUtilities.classWithName(pageName) != null) {
88 - try {
89 - results = pageWithName(pageName);
90 - if (!(results instanceof IERXRouteComponent)) {
91 - log.error(pageName + " does not implement IERXRouteComponent, so it will be ignored.");
92 - results = null;
93 - }
94 - }
95 - catch (WOPageNotFoundException e) {
96 - log.info(pageName + " does not exist, falling back to route controller.");
97 - results = null;
98 - }
99 - }
100 - else {
101 - log.info(pageName + " does not exist, falling back to route controller.");
102 - }
103 -
104 - if (results == null && shouldFailOnMissingHtmlPage()) {
105 - results = performUnknownAction(actionName);
106 - }
107 -
108 - return results;
109 - }
110 -
111 -{{/code}}
112 -
113 -{{code}}
114 -
115 - protected String pageNameForAction(String actionName) {
116 - return entityName() + ERXStringUtilities.capitalize(actionName) + "Page";
117 - }
118 -
119 -{{/code}}
120 -
121 -{{code}}
122 -
123 - protected boolean shouldFailOnMissingHtmlPage() {
124 - return false;
125 - }
126 -
127 -{{/code}}
128 -
129 129  ERXRestUtils
130 130  
131 131  request > route