Package de.iritgo.aktera.dashboard

Source Code of de.iritgo.aktera.dashboard.UIResponseVisitor

/**
* This file is part of the Iritgo/Aktera Framework.
*
* Copyright (C) 2005-2011 Iritgo Technologies.
* Copyright (C) 2003-2005 BueroByte GbR.
*
* Iritgo licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package de.iritgo.aktera.dashboard;


import de.iritgo.aktera.dashboard.items.SimpleNumberItem;
import de.iritgo.aktera.dashboard.items.SimpleTextItem;
import de.iritgo.aktera.model.Output;
import de.iritgo.aktera.model.ResponseElement;
import de.iritgo.aktera.ui.UIResponse;
import java.util.LinkedList;
import java.util.List;


public class UIResponseVisitor extends GroupVisitor
{
  protected UIResponse response;

  protected Output dashboardGroups;

  protected List<ResponseElement> currentGroupItems;

  public UIResponseVisitor()
  {
  }

  public UIResponseVisitor(UIResponse response)
  {
    this.response = response;
  }

  public UIResponse getResponse()
  {
    return response;
  }

  public Output getDashboardGroups()
  {
    return dashboardGroups;
  }

  /**
   * @see de.iritgo.aktera.dashboard.GroupVisitor#generate(de.iritgo.aktera.dashboard.items.SimpleNumberItem)
   */
  @Override
  public void generate(SimpleNumberItem simpleNumberItem)
  {
  }

  /**
   * The base method to generate the dashboard group item
   *
   * @param dashboardGroup The dashboard group
   */
  public void generate(DashboardGroup dashboardGroup)
  {
    currentGroupItems = new LinkedList<ResponseElement>();

    if (response == null && parentVisitor != null)
    {
      response = ((UIResponseVisitor) parentVisitor).getResponse();
      dashboardGroups = ((UIResponseVisitor) parentVisitor).getDashboardGroups();
    }

    Output group = response.createOutput(dashboardGroup.getId());

    group.setContent(currentGroupItems);
    group.setAttribute("title", dashboardGroup.getTitle());
    group.setAttribute("renderInclude", dashboardGroup.getRenderFile());
    dashboardGroups.add(group);
  }

  /**
   * @see de.iritgo.aktera.dashboard.GroupVisitor#generate(de.iritgo.aktera.dashboard.items.SimpleTextItem)
   */
  public void generate(SimpleTextItem simpleTextItem)
  {
    Output item = response.createOutput(simpleTextItem.getId());

    item.setAttribute("label", simpleTextItem.getLabel());
    item.setAttribute("text", simpleTextItem.getText());
    item.setAttribute("measuringUnit", simpleTextItem.getMeasuringUnit());
    item.setAttribute("renderInclude", simpleTextItem.getRenderFile());
    currentGroupItems.add(item);
  }

  public void init(UIResponse response)
  {
    this.response = response;
    dashboardGroups = response.createOutput("dashboardGroups");
    response.add(dashboardGroups);
  }
}
TOP

Related Classes of de.iritgo.aktera.dashboard.UIResponseVisitor

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.