package restx.admin; import com.google.common.collect.Lists; import restx.annotations.GET; import restx.annotations.Param; import restx.annotations.RestxResource; import restx.factory.Component; import restx.factory.Factory; import restx.security.RolesAllowed; import java.util.List; /** * User: xavierhanin * Date: 4/7/13 * Time: 1:54 PM */ @Component @RestxResource(group = "restx-admin") public class AdminPagesResource { private final Iterable<AdminPage> pages; public AdminPagesResource(Iterable<AdminPage> pages) { this.pages = pages; } @RolesAllowed(AdminModule.RESTX_ADMIN_ROLE) @GET("/@/pages") public Iterable<AdminPage> findPages(@Param(kind = Param.Kind.CONTEXT, value = "baseUri") String baseUri) { List<AdminPage> rootedPages = Lists.newArrayList(); for (AdminPage page : pages) { rootedPages.add(page.rootOn(baseUri)); } return rootedPages; } }