Package org.restlet.routing

Examples of org.restlet.routing.Router


      getTunnelService().setEnabled(false);
   }
  
   @Override
   public Restlet createRoot() {  
      Router router = new Router(getContext()) {
         public void handle(Request request,Response response)
         {
            request.getAttributes().put(App.DB_ATTR,db);
            request.getAttributes().put(App.STORAGE_ATTR,storage);
            super.handle(request,response);
         }
      };
      router.attach("/table/{name}",TableDumpResource.class);
      return router;
     
   }
View Full Code Here


      getTunnelService().setEnabled(false);
   }
  
   @Override
   public Restlet createRoot() {  
      Router router = new Router(getContext());
      router.attach("/database/",DatabaseListResource.class);
      router.attach("/database/backup",AllDatabaseBackupResource.class);
      router.attach("/database/restore",AllDatabaseRestoreResource.class);
      return router;
   }
View Full Code Here

      getTunnelService().setEnabled(false);
   }
  
   @Override
   public Restlet createRoot() {  
      Router router = new Router(getContext()) {
         public void handle(Request request,Response response)
         {
            request.getAttributes().put(App.DB_ATTR,db);
            request.getAttributes().put(App.STORAGE_ATTR,storage);
            super.handle(request,response);
         }
      };
      router.attach("/journal",JournalResource.class);
      router.attach("/local",SyncTargetsResource.class);
      router.attach("/local/{name}",SyncTargetResource.class);
      router.attach("/remote",RemoteAppsResource.class);
      router.attach("/remote/{name}",RemoteAppResource.class);
      router.attach("/process",SyncProcessesResource.class);
      router.attach("/process/{name}",SyncProcessResource.class);
      router.attach("/process/{name}/start",SyncProcessStartResource.class);
      return router;
     
   }
View Full Code Here

      } catch (SQLException ex) {
         getContext().getLogger().log(Level.SEVERE,"Cannot get query or root roles.",ex);
         return null;
      }
     
      Router mainRouter = new DBRouter(getContext());
      mainRouter.attach("/auth",AuthResource.class);
      mainRouter.attach("/auth/{session}",AuthResource.class);

      UserGuard queryGuard = new UserGuard(getContext(),db,ChallengeScheme.HTTP_BASIC,"users");
      queryGuard.setPermission(canQuery);
      mainRouter.attach("/query",queryGuard);
     
      Router queryRouter = new DBRouter(getContext());
      queryGuard.setNext(queryRouter);
     
      queryRouter.attach("/role/n/{name}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/role/n/{name}/n/{permission-name}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/role/n/{name}/{permission-id}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/role/{uuid}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/role/{uuid}/n/{permission-name}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/role/{uuid}/{permission-id}",RoleQueryResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/n/{name}/{user-id}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/n/{name}/a/{user-alias}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/n/{name}/realm/{realm-id}/{user-id}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/n/{name}/realm/n/{realm-name}/a/{user-alias}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/{uuid}/{user-id}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/{uuid}/a/{user-alias}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/{uuid}/realm/{realm-id}/{user-id}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      queryRouter.attach("/has/role/{uuid}/realm/n/{realm-name}/a/{user-alias}",RoleCheckResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);

      Router realmsRouter = new DBRouter(getContext());
      mainRouter.attach("/realms",realmsRouter);

      Router realmRouter = new Router(getContext());
      realmRouter.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
     
      realmRouter.attach("",RealmResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/",RealmResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/auth/recover/s/{session}",UserRecoveryResource.class);
      realmRouter.attach("/auth/{session}",AuthResource.class);
      realmRouter.attach("/auth",AuthResource.class);
      realmRouter.attach("/recover/a/{alias}",UserRecoveryResource.class);
      realmRouter.attach("/recover/{email}",UserRecoveryResource.class);
      realmRouter.attach("/recover/s/{session}",UserRecoveryResource.class);
      realmRouter.attach("/users",RealmUsersResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/",RealmUsersResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}/",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}/{facet}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}/{facet}/",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}/{facet}/{facet-id}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/a/{user-alias}/{facet}/a/{facet-name}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}/",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}/{facet}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}/{facet}/",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}/{facet}/{facet-id}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/users/{user-id}/{facet}/a/{facet-name}",RealmUserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups",GroupsResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/",GroupsResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/{facet}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/{facet}/",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/{facet}/{facet-id}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/{facet}/a/{facet-name}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/a/{group-alias}/{facet}/n/{facet-name}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/{facet}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/{facet}/",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/{facet}/{facet-id}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/{facet}/a/{facet-name}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmRouter.attach("/groups/{group-id}/{facet}/n/{facet-name}",GroupResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
     
      Filter realmByName = new RealmFilter(getContext(),db);
      mainRouter.attach("/realms/n/{realm-name}",realmByName);
      RealmUserGuard realmByNameGuard = new RealmUserGuard(getContext(),db,null,ChallengeScheme.HTTP_BASIC,"Realm Users",superuser) {
         protected boolean hasRealmSpecific(Request request,RealmUser user)
         {
            // we need to check the group because a user could have realm superuser for another realm
            try {
               Group admin = db.getGroup(user.getRealm(),"admin");
               return user.isMemberOf(admin);
            } catch (SQLException ex) {
               getContext().getLogger().log(Level.SEVERE,"Cannot check role due to database error.",ex);
               return false;
            }
         }
      };
      realmByNameGuard.addPermission(realmSuperuser);
      realmByName.setNext(realmByNameGuard);
      realmByNameGuard.setNext(realmRouter);
     
      Filter realmById = new RealmFilter(getContext(),db);
      mainRouter.attach("/realms/{realm-id}",realmById);
      RealmUserGuard realmByIdGuard = new RealmUserGuard(getContext(),db,null,ChallengeScheme.HTTP_BASIC,"Realm Users",superuser) {
         protected boolean hasRealmSpecific(Request request,RealmUser user)
         {
            try {
               Group admin = db.getGroup(user.getRealm(),"admin");
               return user.isMemberOf(admin);
            } catch (SQLException ex) {
               getContext().getLogger().log(Level.SEVERE,"Cannot check role due to database error.",ex);
               return false;
            }
         }
      };
      realmByIdGuard.addPermission(realmSuperuser);
      realmById.setNext(realmByIdGuard);
      realmByIdGuard.setNext(realmRouter);
     
      UserGuard adminGuard = new UserGuard(getContext(),db,ChallengeScheme.HTTP_BASIC,"users");
      adminGuard.setPermission(superuser);
      mainRouter.attach("/admin",adminGuard);
     
      Router adminRouter = new DBRouter(getContext());
      adminGuard.setNext(adminRouter);
     
      adminRouter.attach("/backup",BackupResource.class);
      adminRouter.attach("/restore",RestoreResource.class);
      adminRouter.attach("/permissions/",PermissionsResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/permissions/{uuid}",PermissionResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/permissions/n/{name}",PermissionResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/",RolesResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/n/{name}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/n/{name}/",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/n/{name}/{pid}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/n/{name}/n/{pname}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/{uuid}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/{uuid}/",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/{uuid}/{pid}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/roles/{uuid}/n/{pname}",RoleResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/",UsersResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/all",AllUsersResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}/",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}/{facet}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}/{facet}/",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}/{facet}/{facet-id}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/a/{user-alias}/{facet}/n/{facet-name}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}/",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}/{facet}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}/{facet}/",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}/{facet}/{facet-id}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      adminRouter.attach("/users/{user-id}/{facet}/{facet-name}",UserResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
     
      Router realmsAdminRouter = new Router(getContext());
      realmsAdminRouter.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
      adminRouter.attach("/realms",realmsAdminRouter);
     
      realmsAdminRouter.attach("",RealmsResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmsAdminRouter.attach("/",RealmsResource.class).getTemplate().setMatchingMode(Template.MODE_EQUALS);
      realmsAdminRouter.attach("/n/{realm-name}",realmByName);
      realmsAdminRouter.attach("/{realm-id}",realmById);
     
      return mainRouter;
     
   }
View Full Code Here

      return auth;
   }
  
   @Override
   public Restlet createRoot() {  
      Router router = new Router(getContext());
      router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
      Filter guard = new UserGuard(getContext(),ChallengeScheme.HTTP_BASIC,"Atom User",auth);
      guard.setNext(router);
     
      Redirector byId = new IdRedirector(getContext(),this,atomDB,RESOURCE_BASE);
      router.attach("/id/",byId);
     
      ProtocolByPathFinder byPath = new ProtocolByPathFinder(getContext(),this,RESOURCE_BASE,app,atomDB,storage);
      router.attach(RESOURCE_BASE.toString(),byPath);
      router.attach("/R",byPath);
     
      MetadataByPathFinder metadataByPath = new MetadataByPathFinder(getContext(),this,METADATA_BASE,RESOURCE_BASE,atomDB,storage);
      router.attach(METADATA_BASE.toString(),metadataByPath);
     
      router.attach(TERM_BASE.toString(),new TermFinder(getContext(),this,RESOURCE_BASE,atomDB,storage));
     
      if (allowQueries) {
         router.attach(QUERY_BASE.toString()+"adhoc/",AdHocQueryResource.class);
         router.attach(QUERY_BASE.toString(),new QueryFinder(getContext(),this,RESOURCE_BASE,atomDB,storage));
      }

      router.attach(UPDATED_BASE.toString(),UpdatedResource.class);
     
      router.attach("/",new Introspection(this,atomDB,storage,RESOURCE_BASE)).getTemplate().setMatchingMode(Template.MODE_EQUALS);
     
      return guard;
   }
View Full Code Here

  
   public Restlet createRoot() {
      String viewValue = getContext().getParameters().getFirstValue("login.view");
      boolean viewEnabled = viewValue==null || "true".equals(viewValue.trim());
     
      Router router = new Router(getContext());
      if (viewEnabled) {
         getLogger().info("Enabling view on login.");
         router.attach("/",LoginView.class);
         router.attach("/js/",new ClassResourceFinder(getContext(),LoginApplication.class,"js")).getTemplate().setMatchingMode(Template.MODE_STARTS_WITH);
         router.attach("/logout",LogoutView.class);
     
      router.attach("/auth",LoginAction.class);
      router.attach("/status/check",CheckAction.class);
      router.attach("/status",StatusAction.class);
      router.attach("/expire",LogoutAction.class);
      return router;
   }
View Full Code Here

         context.getParameters().set(name,value,false);
      }
   }
  
   public Restlet createRoot() {
      Router router = new Router(getContext());
      router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
      final String base = getContext().getParameters().getFirstValue("app.url");
      getLogger().info("app.url="+base);
      Filter requireAuth = new Filter(getContext()) {
         protected int beforeHandle(Request request,Response response)
         {
            Cookie cookie = request.getCookies().getFirst("I");
            if (request.getChallengeResponse()==null || cookie==null) {
               String baseURL = base;
               if (baseURL==null) {
                  Object o = request.getAttributes().get("app.url");
                  if (o!=null) {
                     baseURL = o.toString();
                  } else {
                     getLogger().severe("app.url missing.");
                     response.setStatus(Status.CLIENT_ERROR_UNAUTHORIZED);
                     return Filter.STOP;
                  }
               }
               Reference appRef = new Reference(baseURL);
               getLogger().info("Checking APP authentication proxy to "+appRef);
               Client client = new Client(getContext().createChildContext(),appRef.getSchemeProtocol());
               client.getContext().getAttributes().put("hostnameVerifier", org.apache.commons.ssl.HostnameVerifier.DEFAULT);
               Request appRequest = new Request(Method.GET,appRef);
               if (request.getChallengeResponse()!=null) {
                  appRequest.setChallengeResponse(request.getChallengeResponse());
               }
               Response appResponse = client.handle(appRequest);
               if (appResponse.getStatus().isSuccess()) {
                  return Filter.CONTINUE;
               } else if (appResponse.getChallengeRequests().size()>0) {
                  Form headers = (Form)appResponse.getAttributes().get("org.request.http.headers");
                  response.setStatus(appResponse.getStatus());
                  response.setEntity(appResponse.getEntity());
                  response.setChallengeRequests(appResponse.getChallengeRequests());
                  response.getAttributes().put("org.request.http.headers", headers);
                  response.setCookieSettings(appResponse.getCookieSettings());
                  return Filter.STOP;
               } else {
                  response.setStatus(Status.CLIENT_ERROR_UNAUTHORIZED);
                  return Filter.STOP;
               }
            } else {
               return Filter.CONTINUE;
            }
         }
      };
      requireAuth.setNext(router);
      router.attach("/",new ClassResourceFinder(getContext(),EditApplication.class.getClassLoader(),EditApplication.class));
      router.attach("/upload",new UploadApplication(getContext()));
      router.attach("/app/",new APPProxy(getContext()));
      return requireAuth;
   }
View Full Code Here

         }
      }
   }
  
   public Restlet createRoot() {
      Router router = new Router(getContext());
      router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
      router.attach("/",new ClassResourceFinder(getContext(),UploadApplication.class.getClassLoader(),UploadApplication.class));
      router.attach("/start/",StartUpload.class);
      router.attach("/{upload.id}/upload/",UploadForm.class);
      router.attach("/{upload.id}/status/",UploadStatus.class);
      router.attach("/{upload.id}/cancel/",UploadCancel.class);
      router.attach("/app",this.appProxy);
      return router;
   }
View Full Code Here

   public Application getAdministration() {
      return new Application(context.createChildContext()) {
         public Restlet createRoot() {
            getContext().getAttributes().put(XMLDBResource.DBNAME_NAME, dbName);
            Router router = new Router(getContext());
            Restlet reindexer = new Restlet(getContext()) {
               public void handle(Request request,Response response) {
                  if (request.getMethod()!=Method.GET) {
                     response.setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
                     return;
                  }
                  try {
                     xmldb.reindex(request.getResourceRef().getRemainingPart());
                     response.setStatus(Status.SUCCESS_NO_CONTENT);
                  } catch (Exception ex) {
                     response.setStatus(Status.SERVER_ERROR_INTERNAL,"Cannot reindex collection due to exception.");
                     getLogger().log(Level.SEVERE,"Cannot reindex collection due to exception.",ex);
                  }
               }
            };
            router.attach("/data/",XMLDBResource.class);
            router.attach("/reindex",reindexer);
            return router;
         }
      };
   }
View Full Code Here

      List<Link> auths = hostConf.getLinks().get("auth-service");
      if (auths!=null && auths.size()>0) {
         Link authLink = auths.get(0);
         getLogger().info("Adding identity and security filters.");
         router = new Router(context);
         router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
         security = new SecurityGuard(context);
         security.setNext(router);
         final IdentityFilter filter = new IdentityFilter(context,security,new Reference(authLink.getLink().toString()));
         vhost.attachDefault(filter);
View Full Code Here

TOP

Related Classes of org.restlet.routing.Router

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.