001 package com.khubla.pragmatach.plugin.adminapp;
002
003 import java.util.List;
004
005 import com.khubla.pragmatach.framework.annotation.Controller;
006 import com.khubla.pragmatach.framework.annotation.Route;
007 import com.khubla.pragmatach.framework.annotation.View;
008 import com.khubla.pragmatach.framework.api.PragmatachException;
009 import com.khubla.pragmatach.framework.api.Response;
010 import com.khubla.pragmatach.framework.router.PragmatachRoute;
011 import com.khubla.pragmatach.framework.router.PragmatachRoutes;
012
013 /**
014 * @author tome
015 */
016 @Controller(name = "pragmatachShowRoutesController")
017 @View(view = "pragmatach/admin/routes.html")
018 public class ShowRoutesController extends SecuredAdminController {
019 /*
020 * the POST routes
021 */
022 private List<PragmatachRoute> POSTRoutes;
023 /*
024 * the GET routes
025 */
026 private List<PragmatachRoute> GETRoutes;
027
028 public List<PragmatachRoute> getGETRoutes() {
029 return GETRoutes;
030 }
031
032 public List<PragmatachRoute> getPOSTRoutes() {
033 return POSTRoutes;
034 }
035
036 public String getRouteParameters(PragmatachRoute pragmatachRoute) {
037 String ret = "";
038 int i = 0;
039 final Class<?>[] types = pragmatachRoute.getMethod().getParameterTypes();
040 if (null != types) {
041 for (final Class<?> type : types) {
042 if (i != 0) {
043 ret += ",";
044 }
045 i++;
046 ret += type.getName();
047 }
048 }
049 return ret;
050 }
051
052 @Route(uri = "/pragmatach/admin/routes")
053 public Response render() throws PragmatachException {
054 POSTRoutes = PragmatachRoutes.getInstance().getPOSTRoutes();
055 GETRoutes = PragmatachRoutes.getInstance().getGETRoutes();
056 return super.render();
057 }
058
059 public void setGETRoutes(List<PragmatachRoute> gETRoutes) {
060 GETRoutes = gETRoutes;
061 }
062
063 public void setPOSTRoutes(List<PragmatachRoute> pOSTRoutes) {
064 POSTRoutes = pOSTRoutes;
065 }
066 }