Package org.jboss.bpm.console.client

Source Code of org.jboss.bpm.console.client.ConsoleConfig

/*
* JBoss, Home of Professional Open Source.
* Copyright 2006, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.bpm.console.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.Dictionary;

/**
* Initialize console config from host page (<code>Application.html</code>) variable:
* <pre>
*  var consoleConfig = {
* consoleServerUrl: "http://localhost:8080/gwt-console-server",
* reportServerUrl: "http://localhost:8080/report",
* [...]
* };
* </pre>
*
* @author Heiko.Braun <heiko.braun@jboss.com>
* @see com.google.gwt.i18n.client.Dictionary
*/
public class ConsoleConfig
{
  private String serverWebContext;

  private String overallReportFile;
  private String processSummaryReportFile;
  private String instanceSummaryReportFile;

  private String profileName;
  private String logo;

  private String consoleServerUrl;

  private String defaultEditor;
 
  public ConsoleConfig(String proxyUrl)
  {
    Dictionary theme = Dictionary.getDictionary("consoleConfig");
    profileName = theme.get("profileName");
    logo = theme.get("logo");

    serverWebContext = theme.get("serverWebContext");

    overallReportFile = theme.get("overallReportFile");
    processSummaryReportFile = theme.get("processSummaryReportFile");
    instanceSummaryReportFile = theme.get("instanceSummaryReportFile");

    defaultEditor = theme.get("defaultEditor");
   
    if(null==proxyUrl)
    {
      // extract host
      String base = GWT.getHostPageBaseURL();
      String protocol = base.substring(0, base.indexOf("//")+2);
      String noProtocol = base.substring(base.indexOf(protocol)+protocol.length(), base.length());
      String host = noProtocol.substring(0, noProtocol.indexOf("/"));

      // default url
      consoleServerUrl = protocol + host + serverWebContext;
    }
    else
    {
      consoleServerUrl = proxyUrl;
    }

    // features

  }

  public String getHost()
  {
    String host = null;
    if(!GWT.isScript()) // development with proxy
    {
      host = consoleServerUrl;
    }
    else
    {
      String baseUrl = GWT.getModuleBaseURL();
      host = baseUrl.substring(
          0, baseUrl.indexOf("app")
      );
    }

    return host;
  }

  public String getProfileName()
  {
    return profileName;
  }

  public String getLogo()
  {
    return logo;
  }

  public String getDefaultEditor()
  {
    return defaultEditor;
  }

  public String getConsoleServerUrl()
  {
    if(consoleServerUrl ==null)
      throw new RuntimeException("Config not properly setup: console server URL is null");
    return consoleServerUrl;
  }

  public void setConsoleServerUrl(String consoleServerUrl)
  {
    this.consoleServerUrl = consoleServerUrl;
  }

  public String getServerWebContext()
  {
    return serverWebContext;
  }

  public void setServerWebContext(String serverWebContext)
  {
    this.serverWebContext = serverWebContext;
  }

  public String getOverallReportFile()
  {
    return overallReportFile;
  }

  public void setOverallReportFile(String overallReportFile)
  {
    this.overallReportFile = overallReportFile;
  }

  public String getProcessSummaryReportFile()
  {
    return processSummaryReportFile;
  }

  public void setProcessSummaryReportFile(String processSummaryReportFile)
  {
    this.processSummaryReportFile = processSummaryReportFile;
  }

  public String getInstanceSummaryReportFile()
  {
    return instanceSummaryReportFile;
  }

  public void setInstanceSummaryReportFile(String instanceSummaryReportFile)
  {
    this.instanceSummaryReportFile = instanceSummaryReportFile;
  }
}
TOP

Related Classes of org.jboss.bpm.console.client.ConsoleConfig

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.