Package org.activiti.explorer.ui.alfresco

Source Code of org.activiti.explorer.ui.alfresco.AlfrescoProcessDefinitionDetailPanel

/* Licensed 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 org.activiti.explorer.ui.alfresco;

import org.activiti.explorer.Messages;
import org.activiti.explorer.data.LazyLoadingContainer;
import org.activiti.explorer.ui.mainlayout.ExplorerLayout;
import org.activiti.explorer.ui.process.ProcessDefinitionDetailPanel;
import org.activiti.explorer.ui.process.ProcessDefinitionPage;

import com.vaadin.ui.Component;
import com.vaadin.ui.Label;
import com.vaadin.ui.Table;


/**
* @author Joram Barrez
*/
public class AlfrescoProcessDefinitionDetailPanel extends ProcessDefinitionDetailPanel {

  private static final long serialVersionUID = 1L;

  public AlfrescoProcessDefinitionDetailPanel(String processDefinitionId, ProcessDefinitionPage processDefinitionPage) {
    super(processDefinitionId, processDefinitionPage);
  }
 
  protected void initActions() {
    // no actions (start process instance) needed for Alfresco
  }
 
  protected void initUi() {
    super.initUi(); // diagram etc.
    initProcessInstancesTable();
  }
 
  protected void initProcessInstancesTable() {
    ProcessInstanceTableLazyQuery query = new ProcessInstanceTableLazyQuery(processDefinition.getId());
   
    // Header
    Label instancesTitle = new Label(i18nManager.getMessage(Messages.PROCESS_INSTANCES) + " (" + query.size() + ")");
    instancesTitle.addStyleName(ExplorerLayout.STYLE_H3);
    instancesTitle.addStyleName(ExplorerLayout.STYLE_DETAIL_BLOCK);
    instancesTitle.addStyleName(ExplorerLayout.STYLE_NO_LINE);
    detailPanelLayout.addComponent(instancesTitle);

    if (query.size() > 0) {
     
      Label emptySpace = new Label(" ", Label.CONTENT_XHTML);
      detailPanelLayout.addComponent(emptySpace);
     
      Table instancesTable = new Table();
      instancesTable.setWidth(400, UNITS_PIXELS);
      if (query.size() > 6) {
        instancesTable.setPageLength(6);
      } else {
        instancesTable.setPageLength(query.size());
      }
     
      LazyLoadingContainer container = new LazyLoadingContainer(query);
      instancesTable.setContainerDataSource(container);
     
      // container props
      instancesTable.addContainerProperty(AlfrescoProcessInstanceTableItem.PROPERTY_ID, String.class, null);
      instancesTable.addContainerProperty(AlfrescoProcessInstanceTableItem.PROPERTY_BUSINESSKEY, String.class, null);
      instancesTable.addContainerProperty(AlfrescoProcessInstanceTableItem.PROPERTY_ACTIONS, Component.class, null);
     
      // column alignment
      instancesTable.setColumnAlignment(AlfrescoProcessInstanceTableItem.PROPERTY_ACTIONS, Table.ALIGN_CENTER);
     
      // column header
      instancesTable.setColumnHeader(AlfrescoProcessInstanceTableItem.PROPERTY_ID, i18nManager.getMessage(Messages.PROCESS_INSTANCE_ID));
      instancesTable.setColumnHeader(AlfrescoProcessInstanceTableItem.PROPERTY_BUSINESSKEY, i18nManager.getMessage(Messages.PROCESS_INSTANCE_BUSINESSKEY));
      instancesTable.setColumnHeader(AlfrescoProcessInstanceTableItem.PROPERTY_ACTIONS, i18nManager.getMessage(Messages.PROCESS_INSTANCE_ACTIONS));
     
      instancesTable.setEditable(false);
      instancesTable.setSelectable(true);
      instancesTable.setNullSelectionAllowed(false);
      instancesTable.setSortDisabled(true);
      detailPanelLayout.addComponent(instancesTable);
     
    } else {
      Label noInstances = new Label(i18nManager.getMessage(Messages.PROCESS_NO_INSTANCES));
      detailPanelLayout.addComponent(noInstances);
    }
  }
 
}
TOP

Related Classes of org.activiti.explorer.ui.alfresco.AlfrescoProcessDefinitionDetailPanel

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.