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
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
on 2012/06/10 15:08
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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 (StringactionName, 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