001package com.khubla.pragmatach.plugin.adminapp;
002
003import java.util.List;
004
005import com.khubla.pragmatach.framework.annotation.Controller;
006import com.khubla.pragmatach.framework.annotation.Route;
007import com.khubla.pragmatach.framework.annotation.View;
008import com.khubla.pragmatach.framework.api.PragmatachException;
009import com.khubla.pragmatach.framework.api.Response;
010import com.khubla.pragmatach.framework.router.PragmatachRoute;
011import com.khubla.pragmatach.framework.router.PragmatachRoutes;
012
013/**
014 * @author tome
015 */
016@Controller(name = "pragmatachShowRoutesController")
017@View(view = "pragmatach/admin/routes.html")
018public 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}