Package org.atomojo.app.edit

Source Code of org.atomojo.app.edit.EditApplication

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package org.atomojo.app.edit;

import org.atomojo.app.AtomApplication;
import org.atomojo.app.auth.UserGuard;
import org.atomojo.www.app.edit.ClassResourceFinder;
import org.atomojo.www.app.edit.upload.UploadApplication;
import org.restlet.Application;
import org.restlet.Context;
import org.restlet.Request;
import org.restlet.Response;
import org.restlet.Restlet;
import org.restlet.data.ChallengeScheme;
import org.restlet.routing.Filter;
import org.restlet.routing.Router;
import org.restlet.routing.Template;

/**
*
* @author alex
*/
public class EditApplication extends Application {

   AtomApplication atomApp;
   public EditApplication(Context context,AtomApplication atomApp) {
      super(context);
      getTunnelService().setEnabled(false);

      this.atomApp = atomApp;
      for (String name : context.getParameters().getNames()) {
         String value = context.getParameters().getFirstValue(name);
         getLogger().info("Adding host parameter "+name+" -> "+value);
         context.getParameters().set(name,value,false);
      }
   }
  
   public Restlet createRoot() {
      Router router = new Router(getContext());
      router.setDefaultMatchingMode(Template.MODE_STARTS_WITH);
      router.attach("/",new ClassResourceFinder(getContext(),EditApplication.class.getClassLoader(),EditApplication.class));
      router.attach("/editor/",new ClassResourceFinder(getContext(),ClassResourceFinder.class.getClassLoader(),ClassResourceFinder.class));
      Filter uploadFilter = new Filter(getContext()) {
         protected int beforeHandle(Request request,Response response)
         {
            request.getAttributes().put("app.url", "riap://application/app/");
            return Filter.CONTINUE;
         }
      };
      uploadFilter.setNext(new UploadApplication(getContext(),atomApp));
      router.attach("/upload",uploadFilter);
      router.attach("/app",atomApp);
      Filter guard = new UserGuard(getContext(),ChallengeScheme.HTTP_BASIC,"Atom User",atomApp.getAuthService());
      guard.setNext(router);
      return guard;
   }
}
TOP

Related Classes of org.atomojo.app.edit.EditApplication

TOP
Copyright © 2018 www.massapi.com. 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.