Code Search for Developers
 
 
  

FlowMetaManagerTest.java from PowerStone at Krugle


Show FlowMetaManagerTest.java syntax highlighted

/*
 * Copyright 2004-2005 the original author or authors.
 *
 * Licensed under the LGPL license, Version 2.1 (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.gnu.org/copyleft/lesser.html
 *
 * 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.
 *
 * @author daquanda(liyingquan@gmail.com)
 * @author kevin(diamond_china@msn.com)
 */
package org.powerstone.workflow.service;

import org.powerstone.workflow.model.*;
import java.util.*;
import org.apache.commons.logging.LogFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.springframework.dao.DataAccessException;

import java.io.FileOutputStream;
import java.io.*;
import org.springframework.util.FileCopyUtils;
import org.powerstone.workflow.exception.FlowMetaException;
import org.powerstone.AbstractSpringTestCase;

/**
 * <p>Title: PowerStone</p>
 */

public class FlowMetaManagerTest
    extends AbstractSpringTestCase {
  private FlowMetaManager flowMetaManager = null;
  private BusinessTypeManager businessTypeManager = null;
  WorkflowMeta wm;
  BusinessType bm;
  FlowMetaFile fmInuse;

  protected void onSetUpInTransaction() throws Exception {
    log = LogFactory.getLog(FlowMetaManagerTest.class);

    bm = new BusinessType();
    bm.setTypeName("TypeName1");
    businessTypeManager.createBusinessType(bm);
    log.info(bm);

    try {
      String fileName = "dreambike-cycle.xpdl";
      wm=flowMetaManager.uploadFlowMetaFile(
          new FileInputStream(new File(fileName)),
          new FileInputStream(new File(fileName)),
          new FileInputStream(new File(fileName)),
          new Long(new File(fileName).length()),
          new Long(new File(fileName).length()));
      fmInuse = (FlowMetaFile) wm.getFlowFileVersions().get(0);
    }
    catch (FileNotFoundException ex) {
      log.error(ex);
    }
    log.info(new Integer(wm.getFlowFileVersions().size()));
  }

  public void testRemoveWorkflowMeta() {
    String flowMetaID = "4000";
    try {
      flowMetaManager.removeWorkflowMeta(flowMetaID);
      fail("ɾ³ýÒ»¸ö²»´æÔÚµÄWorkflowMetaȴûÓб¨´í");
    }
    catch (Exception e) {
      log.info(e);
    }
  }

  public void testGetWorkflowMetaByProcess() {
    WorkflowMeta actualReturn =
        flowMetaManager.getWorkflowMetaByProcess(wm.getFlowProcessID());
    assertEquals("return value",
                 wm.getFlowMetaID(),
                 actualReturn.getFlowMetaID());
  }

  public void testRemoveFlowFileVersionInUse() {
    try {
      flowMetaManager.removeFlowFileVersion(wm.getFlowMetaID().toString(),
                                            fmInuse.getFlowFileID().
                                            toString());
      fail("ɾ³ýÁËʹÓÃÖеÄFlowFileVersion");
    }
    catch (Exception e) {
      assertNotNull(e);
    }
  }

  public void testSaveWorkflowMeta() {
    wm.setFlowProcessID("FlowProcessID2");
    flowMetaManager.saveWorkflowMeta(wm);
    assertEquals("return value",
                 "FlowProcessID2",
                 flowMetaManager.getWorkflowMeta(wm.getFlowMetaID().toString()).
                 getFlowProcessID());
    log.info("FlowProcessID2");
  }

  public void testGetFlowMetaFile() {
    FlowMetaFile actualReturn =
        flowMetaManager.getFlowMetaFile(fmInuse.getFlowFileID().toString());
    this.assertNotNull(actualReturn);
    assertEquals("return value", fmInuse.getFlowMetaName(),
                 actualReturn.getFlowMetaName());
    log.info(actualReturn.getFlowMetaName());
  }

  public void testUpdateBusinessType() {
    flowMetaManager.updateBusinessType(wm.getFlowMetaID().toString(),
                                       bm.getTypeID().toString());
    assertEquals("return value", bm, wm.getBusinessType());
    log.info(wm.getBusinessType().getTypeID());
  }

  public void testGetWorkflowMeta() {
    WorkflowMeta actualReturn =
        flowMetaManager.getWorkflowMeta(wm.getFlowMetaID().toString());
    this.assertNotNull(actualReturn);
    assertEquals("return value", wm.getFlowProcessID(),
                 actualReturn.getFlowProcessID());
    log.info(actualReturn.getFlowProcessID());
    log.info(actualReturn.getFlowFileInUse().getCreatedTime());
  }

  public void testGetWorkflowMetaWithFile() throws FlowMetaException {
    WorkflowMeta actualReturn =
        flowMetaManager.getWorkflowMetaWithFile(wm.getFlowMetaID().toString());
    this.assertNotNull(actualReturn);
    this.assertNotNull(actualReturn.getFlowFileInUse().getWorkflowFileInput());
    this.assertNotNull(actualReturn.findWorkflowNodeByID("dreambike_Wor1_Act2").
                       getVariableToProcessIN());
    this.assertNotNull(actualReturn.findWorkflowNodeByID("dreambike_Wor1_Act2").
                       getVariableToProcessOUT());

    assertEquals("return value", wm.getFlowProcessID(),
                 actualReturn.getFlowProcessID());
    log.info(actualReturn.getFlowProcessID());
    log.info(actualReturn.getFlowModelDAO().getAllNodeIDs(actualReturn.
        getFlowProcessID())[0]);
  }

  public void testGetAllWorkflowMetas() {
    List actualReturn = flowMetaManager.getAllWorkflowMetas();
    assertEquals("return value", 1, actualReturn.size());
    log.info(new Integer(actualReturn.size()));
  }

  public void testGetWorkflowMetasNoBusinessType() {
    List actualReturn = flowMetaManager.getWorkflowMetasNoBusinessType();
    assertEquals("return value", 1, actualReturn.size());
    log.info(new Integer(actualReturn.size()));
  }

  public void testSaveFlowMetaFile() {
    FlowMetaFile ffToSave =
        flowMetaManager.getFlowMetaFile(fmInuse.getFlowFileID().toString());
    ffToSave.setFlowMetaName("FlowMetaName2");

    flowMetaManager.saveFlowMetaFile(fmInuse);
    assertEquals("return value",
                 "FlowMetaName2",
                 flowMetaManager.getFlowMetaFile(fmInuse.getFlowFileID().
                                                 toString()).getFlowMetaName());
    log.info("FlowMetaName2");
    FlowMetaFile ff =
        flowMetaManager.getFlowMetaFile(fmInuse.getFlowFileID().toString());
    FileOutputStream outFile;
    try {
      outFile = new FileOutputStream(new File("./daquan.txt"));
      FileCopyUtils.copy(ff.getPreviewImageInput(), outFile);
    }
    catch (Exception ex1) {
      ex1.printStackTrace();
      log.info(ex1);
    }
  }

  public void testUpdatePreviewImage() {
    try {
      flowMetaManager.updatePreviewImage(
          fmInuse.getWorkflowMeta().getFlowMetaID().toString(),
          new FileInputStream(new File("build.properties")),
          new Long(new File("build.properties").length()));
    }
    catch (FileNotFoundException ex) {
    }
    log.info("¸üÐÂÔ¤ÀÀͼƬ:build.properties");

    FlowMetaFile ff =
        flowMetaManager.getWorkflowMetaWithFile(fmInuse.getWorkflowMeta().
                                                getFlowMetaID().
                                                toString()).getFlowFileInUse();
    FileOutputStream outFile;
    try {
      outFile = new FileOutputStream(new File("./daquan_PreviewImage.txt"));
      FileCopyUtils.copy(ff.getPreviewImageInput(), outFile);
    }
    catch (Exception ex1) {
      ex1.printStackTrace();
      log.info(ex1);
    }

  }

  public void testRemoveFlowMetaFile() {
    try {
      flowMetaManager.removeFlowMetaFile("8000");
      fail("ɾ³ýÒ»¸ö²»´æÔÚµÄFlowMetaFile didn't throw DataAccessException");
    }
    catch (DataAccessException d) {
      assertNotNull(d);
      log.info(d);
    }
  }

//  public void testUpdateFlowFileInUse() {
//    flowMetaManager.updateFlowFileInUse(wm.getFlowMetaID().toString(),
//                                        fmNotInuse.getFlowFileID().toString());
//    WorkflowMeta theMeta =
//        flowMetaManager.getWorkflowMeta(wm.getFlowMetaID().toString());
//    FlowMetaFile theFile =
//        flowMetaManager.getFlowMetaFile(fmNotInuse.getFlowFileID().toString());
//
//    assertEquals("return value",
//                 theMeta.getFlowFileInUse().getFlowFileID(),
//                 theFile.getFlowFileID());
//    assertEquals("return value",
//                 theMeta.getFlowMetaID(),
//                 theFile.getWorkflowMeta().getFlowMetaID());
//    log.info(theMeta.getFlowFileInUse().getFlowFileID());
//  }

//  public void testAddFlowFileVersion() {
//    flowMetaManager.addFlowFileVersion(wm.getFlowMetaID().toString(),
//                                       fmNotInuse.getFlowFileID().toString());
//    WorkflowMeta theMeta =
//        flowMetaManager.getWorkflowMeta(wm.getFlowMetaID().toString());
//    FlowMetaFile theFile =
//        flowMetaManager.getFlowMetaFile(fmNotInuse.getFlowFileID().toString());
//
//    assertEquals("return value",
//                 theMeta.getFlowMetaID(),
//                 theFile.getWorkflowMeta().getFlowMetaID());
//    assertEquals("return value",
//                 fmNotInuse.getFlowFileID(),
//                 theFile.getFlowFileID());
//    log.info(new Integer(theMeta.getFlowFileVersions().size()));
//  }

  public void testAddFlowDeploy() {
    FlowDeploy flowDeploy = new FlowDeploy();
    flowDeploy.setCreateTime("-------CreateTime----------");
    flowDeploy.setCurrentState("CurrentState");
    flowDeploy.setFlowDeployName("FlowDeployName");
    flowDeploy.setMemo("Memo");
    flowMetaManager.addFlowDeploy(wm.getFlowMetaID().toString(), flowDeploy);
    WorkflowMeta theMeta =
        flowMetaManager.getWorkflowMeta(wm.getFlowMetaID().toString());
    assertEquals("return value",
                 1,
                 theMeta.getFlowDeploies().size());

    log.info( ( (FlowDeploy) theMeta.getFlowDeploies().get(0)).getCreateTime());
  }
  public void setBusinessTypeManager(BusinessTypeManager businessTypeManager) {
    this.businessTypeManager = businessTypeManager;
  }
  public void setFlowMetaManager(FlowMetaManager flowMetaManager) {
    this.flowMetaManager = flowMetaManager;
  }
}




See more files for this project here

PowerStone

PowerStone is an open source java WorkFlow Management System,based on Spring and Hibernate.The system is composed of an engine(processing xpdl documents edited with Enhydra JaWE),a flow management console,a worklist and an identity management module.

Project homepage: http://sourceforge.net/projects/powerstone
Programming language(s): Java,JSP,XML
License: other

  ADreamBikeTest.java
  BusinessTypeManagerTest.java
  FlowDeployManager2Test.java
  FlowDeployManagerTest.java
  FlowMetaManagerTest.java
  FlowTaskManagerMockTest.java
  InitDreamBikeDriver.java
  WorkflowDriverManagerTest.java
  WorkflowEngineStarterTest.java
  WorkflowEngineTest.java