Package org.olat.core.gui.components

Examples of org.olat.core.gui.components.Window


        WindowControl wControl = cc.getWindowControl();
        WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, wControl);
        NewControllerFactory.getInstance().launch(ureq, bwControl)
        // render the window
        Window w = cc.getWindow();
        w.dispatchRequest(ureq, true); // renderOnly
        return;
      }
     
      // 1. check for direct launch urls, see org.olat.core.dispatcher.jumpin.JumpinConfig
      if (!ureq.isValidDispatchURI()) {
        JumpInReceptionist jh = JumpInManager.getInstance().getJumpInReceptionist(ureq);
        if (jh == null) {
          // found no JumpInManager => try with new 5.1 JumpIn-Resource URL
          String uri = ureq.getNonParsedUri();
          if (uri.startsWith(JumpInManager.CONST_EXTLINK)) {
            String resourceUrl = ureq.getParameter(JumpInManager.CONST_RESOURCE_URL);
            if (resourceUrl != null) {
              // attach the launcher data
              BusinessControl bc = BusinessControlFactory.getInstance().createFromString(resourceUrl);
              try {
                // get main window and dynamic tabs
                // brasato:: ChiefController cc = Windows.getWindows(usess).getWindowManager().getMainChiefController();
                ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute(AUTHCHIEFCONTROLLER);

                // brasato:: todo: cc = Windows.getWindows(usess).getRegisteredJumpChiefController();
                WindowControl wControl = cc.getWindowControl();
                WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, wControl);
                NewControllerFactory.getInstance().launch(ureq, bwControl)
                // render the window
                Window w = cc.getWindow();
                w.dispatchRequest(ureq, true); // renderOnly
                return;
              } catch (Exception ex) {
                // sendNotFound         
              }
            }
          }
          DispatcherAction.sendNotFound(request.getRequestURI(), response);
          return;
        }
       
        // handler found e.g. for repo/go or cata/go or alike
        OLATResourceable ores = jh.getOLATResourceable();     
        String title = jh.getTitle();

        // get main window and dynamic tabs
        // brasato:: ChiefController cc = Windows.getWindows(usess).getMainOlatChiefController();
        ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute(AUTHCHIEFCONTROLLER);

        if (cc == null) throw new AssertException("logged in, but no window/Chiefcontroller 'olatmain' found!");
        WindowControl wControl = cc.getWindowControl();

        // add to tabs
        DTabs dts = (DTabs)wControl.getWindowBackOffice().getWindow().getAttribute(D_TABS);
        synchronized (dts) { //o_clusterok per:fj user session
          DTab dt = dts.getDTab(ores);
          if (dt == null) {
            // no dynamic tab found, lets see if the ores implements the SiteInstance interface.
            boolean isSiteInstance;
            try {
              // try to load class from ores resource type name and try to cast it to SiteInstance
              Class site = ores.getClass().getClassLoader().loadClass(ores.getResourceableTypeName());
              site.asSubclass(SiteInstance.class);
              // ok, casting did not fail, must be a site then
              isSiteInstance = true;
            } catch (Exception e) {
              // casting failed, not a site
              isSiteInstance = false;
            }
           
            if (isSiteInstance) {
              // case A) is a site: create view identifyer for this jump in to the site
              JumpInResult jres = jh.createJumpInResult(ureq, cc.getWindowControl());
              dts.activateStatic(ureq, ores.getResourceableTypeName(), jres.getInitialViewIdentifier());             
            } else {
              // case B) no site and no opened tab -> create and add
              dt = dts.createDTab(ores, title);
              if (dt == null) { // tabs are full
                //create dtabs already issues a warning message 
              } else {
                JumpInResult jres = jh.createJumpInResult(ureq, dt.getWindowControl());
                Controller resC = jres.getController();
                if (resC == null) { // the resource was not found or user is not
                  // allowed to start the resource
                  DispatcherAction.sendNotFound(request.getRequestURI(), response);
                  return;
                }
                dt.setController(resC);
                dts.addDTab(dt);
                dts.activate(ureq, dt, null); // null: do not activate controller
              }             
            }
          } else {
            // case C) opened dyn tab found, activate the dyn tab
            dts.activate(ureq, dt, jh.extractActiveViewId(ureq));
          }
        }
        // render the window
        Window w = cc.getWindow();
        w.dispatchRequest(ureq, true); // renderOnly
      } else { // valid uri for dispatching (has timestamp, componentid and
        // windowid)
        Windows ws = Windows.getWindows(ureq);
        Window window = ws.getWindow(ureq);
        if (window == null) {
          // If no window, this is probably a stale link. send not
          // found
          // note: do not redirect to login since this wastes a new
          // window each time since we are in an authenticated session
          // -> a content packaging with wrong links e.g. /css/my.css
          // wastes all the windows
          DispatcherAction.sendNotFound(request.getRequestURI(), response);
          return;
        }
        window.dispatchRequest(ureq);
      }
    } catch (Throwable th) {
      // Do not log as Warn or Error here, log as ERROR in MsgFactory => ExceptionWindowController throws an OLATRuntimeException
      Tracing.logDebug("handleError in AuthenticatedDispatcher throwable=" + th, getClass());
      DispatcherAction.handleError();
View Full Code Here


    }
  }
 
  private String getRedirectToURL(UserSession usess) {
    ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute("AUTHCHIEFCONTROLLER");
    Window w = cc.getWindow();
   
    URLBuilder ubu = new URLBuilder("", w.getInstanceId(), String.valueOf(w.getTimestamp()), null);
    StringOutput sout = new StringOutput(30);
    ubu.buildURI(sout, null, null);
   
    return WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED + sout.toString();
  }
View Full Code Here

        //
        Windows.getWindows(ureq).getWindowManager().setAjaxWanted(ureq, true);

        // successfull login, reregister window
        ChiefController occ = createAuthHome(ureq);
        Window currentWindow = occ.getWindow();
        currentWindow.setUriPrefix(WebappHelper.getServletContextPath() + "/temp/");
        Windows.getWindows(ureq).registerWindow(currentWindow);
        // render only
        currentWindow.dispatchRequest(ureq, true);
       
      } else {
        // auth: get window
        Windows ws = Windows.getWindows(ureq);
        Window window = ws.getWindow(ureq);
        window.dispatchRequest(ureq);       
      }


    } catch (Throwable th) {
      try {
View Full Code Here

    if(source == closeLink){
      // close window (a html page which calls Window.close onLoad
      ureq.getDispatchResult().setResultingMediaResource(new RedirectMediaResource(StaticMediaDispatcher.createStaticURIFor("closewindow.html")));
      // release all resources and close window
      WindowBackOffice wbo = getWindowControl().getWindowBackOffice();
      Window w = wbo.getWindow();
      Windows.getWindows(ureq).deregisterWindow(w);
      wbo.dispose();     
    }

  }
View Full Code Here

    }
     
    // brasato:: ChiefController cc = Windows.getWindows(usess).getMainOlatChiefController();
    ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute("AUTHCHIEFCONTROLLER");
    if (cc == null) throw new AssertException("logged in, but no window/Chiefcontroller 'olatmain' found!");
    Window w = cc.getWindow();
    w.dispatchRequest(ureq, true); // renderOnly
  }
View Full Code Here

    //Window w = new Window("messagewindow", this, jsadder);
   
    Windows ws = Windows.getWindows(ureq);
    WindowBackOffice wbo = ws.getWindowManager().createWindowBackOffice("messagewindow", this);
    Window w = wbo.getWindow();
   
    msg.put("jsAndCssC", w.getJsCssRawHtmlHeader());
    msg.contextPut("theme", w.getGuiTheme())
   
    w.setContentPane(msg);
    setWindow(w);
  }
View Full Code Here

    try {
      UserSession usess = ureq.getUserSession();
      Windows ws = Windows.getWindows(usess);
      synchronized (ws) {  //o_clusterOK by:fj

        Window window;
        boolean windowHere = ws.isExisting(ureq.getWindowID());
        boolean validDispatchUri = ureq.isValidDispatchURI();
        if (validDispatchUri && !windowHere) {
          // probably valid framework link from previous user && new Session(no window):
          // when a previous user logged off, and 30min later (when the httpsession is invalidated), the next user clicks e.g. on
          // the log-in link in the -same- browser window ->
          // -> there is no window -> create a new one
          window = null;
          usess.signOffAndClear();
          // request new windows since it is a new usersession, the old one was purged
          ws = Windows.getWindows(usess);
        } else {
          if (validDispatchUri) {
            window = ws.getWindow(ureq);
          } else {
            // e.g. /dmz/ -> start screen, clear previous session data
            window = null;
            usess.signOffAndClear();
            // request new windows since it is a new usersession, the old one was purged
            ws = Windows.getWindows(usess);
          }
        }
       
        if (window == null) {
          // no window found, -> start a new WorkFlow/Controller and obtain the window
          // main controller which also implements the windowcontroller for pagestatus and modal dialogs
          ChiefController occ = chiefControllerCreator.createChiefController(ureq);
       
          // browser did not send a cookie && url has a window id with it (= we
          // are clicking a framework link or submitting a framework form)
          //if (sessionId == null && ureq.getWindowID() != null) {
            //Translator trans = new PackageTranslator("org.olat", ureq.getLocale()); // locale
            //occ.getWindowControl().setWarning(trans.translate("wayf.cookies"));
          //}

          window = occ.getWindow();
          window.setUriPrefix(uriPrefix);
          ws.registerWindow(window);
          window.dispatchRequest(ureq, true);
       
        } else {
          window.dispatchRequest(ureq);
        }
      }
    } catch (Throwable th) {
      try {
        ChiefController msgcc = MsgFactory.createMessageChiefController(ureq, th);
View Full Code Here

 
          // GUI statistics
          Windows ws = Windows.getWindows(usess);
          StringBuilder sb = new StringBuilder();
          for (Iterator iterator = ws.getWindowIterator(); iterator.hasNext();) {
            Window window = (Window) iterator.next();
            sb.append("- Window ").append(window.getDispatchID()).append(" dispatch info: ").append(window.getLatestDispatchComponentInfo()).append("<br />");
          }
          sb.append("<br />");
          myContent.contextPut("guistats", sb.toString());
        }
      }
View Full Code Here

                // brasato:: todo: cc = Windows.getWindows(usess).getRegisteredJumpChiefController();
                WindowControl wControl = cc.getWindowControl();
                WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, wControl);
                NewControllerFactory.getInstance().launch(ureq, bwControl)
                // render the window
                Window w = cc.getWindow();
                w.dispatchRequest(ureq, true); // renderOnly
                return;
              } catch (Exception ex) {
                // sendNotFound         
              }
            }
          }
          DispatcherAction.sendNotFound(request.getRequestURI(), response);
          return;
        }
        // handler found e.g. for repo/go
        OLATResourceable ores = jh.getOLATResourceable();
        String title = jh.getTitle();

        // get main window and dynamic tabs
        // brasato:: ChiefController cc = Windows.getWindows(usess).getMainOlatChiefController();
        ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute(AUTHCHIEFCONTROLLER);

        if (cc == null) throw new AssertException("logged in, but no window/Chiefcontroller 'olatmain' found!");
        WindowControl wControl = cc.getWindowControl();

        // add to tabs
        DTabs dts = (DTabs)wControl.getWindowBackOffice().getWindow().getAttribute(D_TABS);
        synchronized (dts) { //o_clusterok per user session
          DTab dt = dts.getDTab(ores);
          if (dt == null) {
            // does not yet exist -> create and add
            dt = dts.createDTab(ores, title);
            if (dt == null) { // tabs are full
            //create dtabs already issues a warning message 
            } else {
              JumpInResult jres = jh.createJumpInResult(ureq, dt.getWindowControl());
              Controller resC = jres.getController();
              if (resC == null) { // the resource was not found or user is not
                                  // allowed to start the resource
                DispatcherAction.sendNotFound(request.getRequestURI(), response);
                return;
              }
              dt.setController(resC);
              dts.addDTab(dt);
              dts.activate(ureq, dt, null); // null: do not activate controller
            }
          } else {
            dts.activate(ureq, dt, jh.extractActiveViewId(ureq)); // activate
                                                                  // controller
          }
        }
        // render the window
        Window w = cc.getWindow();
        w.dispatchRequest(ureq, true); // renderOnly
      } else { // valid uri for dispatching (has timestamp, componentid and
        // windowid)
        Windows ws = Windows.getWindows(ureq);
        Window window = ws.getWindow(ureq);
        if (window == null) {
          // If no window, this is probably a stale link. send not
          // found
          // note: do not redirect to login since this wastes a new
          // window each time since we are in an authenticated session
          // -> a content packaging with wrong links e.g. /css/my.css
          // wastes all the windows
          DispatcherAction.sendNotFound(request.getRequestURI(), response);
          return;
        }
        window.dispatchRequest(ureq);
      }
    } catch (Throwable th) {
      Tracing.logDebug("handleError in AuthenticatedDispatcher", getClass());
      DispatcherAction.handleError();
      ChiefController msgcc = MsgFactory.createMessageChiefController(ureq, th);
View Full Code Here

      occ = createGuestHome(ureq);
    }else{
      occ = createAuthHome(ureq);
    }
 
    Window currentWindow = occ.getWindow();
    currentWindow.setUriPrefix(WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED);
    Windows.getWindows(ureq).registerWindow(currentWindow);
 
    // redirect to AuthenticatedDispatcher
    // IMPORTANT: windowID has changed due to re-registering current window -> do not use ureq.getWindowID() to build new URLBuilder.
    URLBuilder ubu = new URLBuilder(WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED, currentWindow.getInstanceId(), "1", null)
    StringOutput sout = new StringOutput(30);
    ubu.buildURI(sout, null, null);
    ureq.getDispatchResult().setResultingMediaResource(new RedirectMediaResource(sout.toString()));
   
    return LOGIN_OK;
View Full Code Here

TOP

Related Classes of org.olat.core.gui.components.Window

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.