Package org.apache.ode.daohib.bpel

Source Code of org.apache.ode.daohib.bpel.ListInstanceTest

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF 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 org.apache.ode.daohib.bpel;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ode.bpel.common.InstanceFilter;

/**
* Testing BpelDAOConnectionImpl.listInstance. We're just producing a lot
* of different filter combinations and test if they execute ok. To really
* test that the result is the one expected would take a huge test database
* (with at least a process and an instance for every possible combination).
*/
public class ListInstanceTest extends BaseTestDAO {

  private Map<String, List> filterElmts;
  private ArrayList<String> order;

  protected void setUp() throws Exception {
    initTM();
    buildFilterElements();
  }

  protected void tearDown() throws Exception {
    stopTM();
  }

  public void testListInstance() throws Exception {
    for (int index = 0; index < 7; index++) {
      StringBuffer filter = new StringBuffer();
      for (Map.Entry<String, List> entry : filterElmts.entrySet()) {
        filter.append(entry.getKey());
        filter.append(entry.getValue().get((index < entry.getValue().size()) ? index : index % entry.getValue().size()));
        InstanceFilter ifilter = new InstanceFilter(filter.toString(),
                order.get((index < order.size()) ? index : index % order.size()), 20);
        daoConn.instanceQuery(ifilter);
      }
    }
  }

  private void buildFilterElements() {
    filterElmts = new HashMap<String, List>();
    ArrayList<String> nameList = new ArrayList<String>();
    nameList.add("=Hello* ");
    nameList.add("=HelloWorld ");
    filterElmts.put("name", nameList);

    ArrayList<String> namespaceList = new ArrayList<String>();
    namespaceList.add("=http://ode* ");
    namespaceList.add("=http://ode ");
    filterElmts.put("namespace", namespaceList);

    ArrayList<String> statusList = new ArrayList<String>();
    statusList.add("=active ");
    statusList.add("=suspended ");
    statusList.add("=error ");
    statusList.add("=completed|terminated ");
    statusList.add("=faulted|terminated ");
    statusList.add("=error|active ");
    filterElmts.put("status", statusList);

    ArrayList<String> startedList = new ArrayList<String>();
    startedList.add(">=2005-11-29T15:11 ");
    startedList.add("<=2005-11-29T15:11 ");
    startedList.add("<2005-11-29T15:11 started>=2005-11-29T15:11 ");
    startedList.add(">2005-11-29T15:11 started<=2005-11-29T15:11 ");
    startedList.add("=2005-11-29T15:11 ");
    filterElmts.put("started", startedList);

    ArrayList<String> lastActiveList = new ArrayList<String>();
    lastActiveList.add(">=2005-11-29T15:11 ");
    lastActiveList.add("<=2005-11-29T15:11 ");
    lastActiveList.add("<2005-11-29T15:11 last-active>=2005-11-29T15:11 ");
    lastActiveList.add(">2005-11-29T15:11 last-active<=2005-11-29T15:11 ");
    lastActiveList.add("=2005-11-29T15:11 ");
    filterElmts.put("last-active", lastActiveList);

    order = new ArrayList<String>();
    order.add("pid");
    order.add("name pid");
    order.add("namespace -name");
    order.add("version -pid +name");
    order.add("status namespace");
    order.add("-started -version status");
    order.add("+last-active name -pid +version -status namespace");
  }

}
TOP

Related Classes of org.apache.ode.daohib.bpel.ListInstanceTest

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.