Package org.apache.jorphan.collections

Examples of org.apache.jorphan.collections.HashTree$TreeSearcher


      element = createTestElement(config.getChild("testelement")); // $NON-NLS-1$
    } catch (Exception e) {
      log.error("Problem loading part of file", e);
      return null;
    }
    HashTree subTree = new ListedHashTree(element);
    Configuration[] subNodes = config.getChildren("node"); // $NON-NLS-1$

    for (int i = 0; i < subNodes.length; i++) {
      HashTree t = generateNode(subNodes[i]);

      if (t != null) {
        subTree.add(element, t);
      }
    }
View Full Code Here


   * @param host
   *            host the engine will run on
   */
  private void initEngine(JMeterEngine engine, String host) {
    GuiPackage gui = GuiPackage.getInstance();
    HashTree testTree = gui.getTreeModel().getTestPlan();
    JMeter.convertSubTree(testTree);
    testTree.add(testTree.getArray()[0], gui.getMainFrame());
    engine.configure(testTree);
  }
View Full Code Here

  }

  protected void startEngine() {
    GuiPackage gui = GuiPackage.getInstance();
    engine = new StandardJMeterEngine();
    HashTree testTree = gui.getTreeModel().getTestPlan();
    JMeter.convertSubTree(testTree);
    DisabledComponentRemover remover = new DisabledComponentRemover(testTree);
    testTree.traverse(remover);
    testTree.add(testTree.getArray()[0], gui.getMainFrame());
    log.debug("test plan before cloning is running version: "
        + ((TestPlan) testTree.getArray()[0]).isRunningVersion());
    TreeCloner cloner = new TreeCloner(false);
    testTree.traverse(cloner);
    engine.configure(cloner.getClonedTree());
    try {
      engine.runTest();
    } catch (JMeterEngineException e) {
      JOptionPane.showMessageDialog(gui.getMainFrame(), e.getMessage(), JMeterUtils
          .getResString("Error Occurred"), JOptionPane.ERROR_MESSAGE);
    }
    log.debug("test plan after cloning and running test is running version: "
        + ((TestPlan) testTree.getArray()[0]).isRunningVersion());
  }
View Full Code Here

   * @see Command#doAction(ActionEvent)
   */
  public void doAction(ActionEvent e) {
    String action = e.getActionCommand();
    if (action.equals(ActionNames.SUB_TREE_SAVED)) {
      HashTree subTree = (HashTree) e.getSource();
      subTree.traverse(this);
    } else if (action.equals(ActionNames.SUB_TREE_LOADED)) {
      ListedHashTree addTree = (ListedHashTree) e.getSource();
      addTree.traverse(this);
    } else if (action.equals(ActionNames.ADD_ALL)) {
      previousGuiItems.clear();
      GuiPackage.getInstance().getTreeModel().getTestPlan().traverse(this);
    } else if (action.equals(ActionNames.CHECK_REMOVE)) {
      GuiPackage guiPackage = GuiPackage.getInstance();
      JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes();
      removeMode = true;
      for (int i = nodes.length - 1; i >= 0; i--) {
        guiPackage.getTreeModel().getCurrentSubTree(nodes[i]).traverse(this);
      }
      removeMode = false;
    }
    // If we are merging in another test plan, we know the test plan is dirty now
    if(action.equals(ActionNames.SUB_TREE_MERGED)) {
      dirty = true;
    }
    else {
      dirty = false;
      checkMode = true;
      HashTree wholeTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
      wholeTree.traverse(this);
      checkMode = false;
    }
    GuiPackage.getInstance().setDirty(dirty);
  }
View Full Code Here

                File f = new File(testFile);
                log.info("Loading file: " + f);
                FileServer.getFileServer().setBaseForScript(f);

                reader = new FileInputStream(f);
                HashTree tree = SaveService.loadTree(reader);

                GuiPackage.getInstance().setTestPlanFile(f.getAbsolutePath());

                Load.insertLoadedTree(1, tree);
            } catch (ConversionException e) {
View Full Code Here

            FileServer.getFileServer().setBaseForScript(f);

            reader = new FileInputStream(f);
            log.info("Loading file: " + f);

            HashTree tree = SaveService.loadTree(reader);

            @SuppressWarnings("deprecation") // Deliberate use of deprecated ctor
            JMeterTreeModel treeModel = new JMeterTreeModel(new Object());// Create non-GUI version to avoid headless problems
            JMeterTreeNode root = (JMeterTreeNode) treeModel.getRoot();
            treeModel.addSubTree(tree, root);

            // Hack to resolve ModuleControllers in non GUI mode
            SearchByClass<ReplaceableController> replaceableControllers = new SearchByClass<ReplaceableController>(ReplaceableController.class);
            tree.traverse(replaceableControllers);
            Collection<ReplaceableController> replaceableControllersRes = replaceableControllers.getSearchResults();
            for (Iterator<ReplaceableController> iter = replaceableControllersRes.iterator(); iter.hasNext();) {
                ReplaceableController replaceableController = iter.next();
                replaceableController.resolveReplacementSubTree(root);
            }

            // Remove the disabled items
            // For GUI runs this is done in Start.java
            convertSubTree(tree);

            Summariser summer = null;
            String summariserName = JMeterUtils.getPropDefault("summariser.name", "");//$NON-NLS-1$
            if (summariserName.length() > 0) {
                log.info("Creating summariser <" + summariserName + ">");
                println("Creating summariser <" + summariserName + ">");
                summer = new Summariser(summariserName);
            }

            if (logFile != null) {
                ResultCollector logger = new ResultCollector(summer);
                logger.setFilename(logFile);
                tree.add(tree.getArray()[0], logger);
            }
            else {
                // only add Summariser if it can not be shared with the ResultCollector
                if (summer != null) {
                    tree.add(tree.getArray()[0], summer);
                }
            }
            // Used for remote notification of threads start/stop,see BUG 54152
            // Summariser uses this feature to compute correctly number of threads
            // when NON GUI mode is used
            tree.add(tree.getArray()[0], new RemoteThreadsListenerTestElement());

            List<JMeterEngine> engines = new LinkedList<JMeterEngine>();
            tree.add(tree.getArray()[0], new ListenToTest(parent, (remoteStart && remoteStop) ? engines : null));
            println("Created the tree successfully using "+testFile);
            if (!remoteStart) {
                JMeterEngine engine = new StandardJMeterEngine();
                engine.configure(tree);
                long now=System.currentTimeMillis();
View Full Code Here

                TestElement item = (TestElement) o;
                if (item.isEnabled()) {
                    if (item instanceof ReplaceableController) {
                        ReplaceableController rc = ensureReplaceableControllerIsLoaded(item);

                        HashTree subTree = tree.getTree(item);
                        if (subTree != null) {
                            HashTree replacementTree = rc.getReplacementSubTree();
                            if (replacementTree != null) {
                                convertSubTree(replacementTree);
                                tree.replace(item, rc);
                                tree.set(rc, replacementTree);
                            }
                        }
                    } else { // not Replaceable Controller
                        convertSubTree(tree.getTree(item));
                    }
                } else { // Not enabled
                    tree.remove(item);
                }
            } else { // Not a TestElement
                JMeterTreeNode item = (JMeterTreeNode) o;
                if (item.isEnabled()) {
                    // Replacement only needs to occur when starting the engine
                    // @see StandardJMeterEngine.run()
                    if (item.getUserObject() instanceof ReplaceableController) {
                        TestElement controllerAsItem = item.getTestElement();
                        ReplaceableController rc = ensureReplaceableControllerIsLoaded(controllerAsItem);

                        HashTree subTree = tree.getTree(item);
                       
                        if (subTree != null) {
                            HashTree replacementTree = rc.getReplacementSubTree();
                            if (replacementTree != null) {
                                convertSubTree(replacementTree);
                                tree.replace(item, rc);
                                tree.set(rc, replacementTree);
                            }
View Full Code Here

        return commands;
    }

    @Override
    public void doAction(ActionEvent e) throws IllegalUserActionException {
        HashTree subTree = null;
        boolean fullSave = false; // are we saving the whole tree?
        if (!commands.contains(e.getActionCommand())) {
            throw new IllegalUserActionException("Invalid user command:" + e.getActionCommand());
        }
        if (e.getActionCommand().equals(ActionNames.SAVE_AS)) {
            JMeterTreeNode[] nodes = GuiPackage.getInstance().getTreeListener().getSelectedNodes();
            if (nodes.length > 1){
                JMeterUtils.reportErrorToUser(
                        JMeterUtils.getResString("save_as_error"), // $NON-NLS-1$
                        JMeterUtils.getResString("save_as")); // $NON-NLS-1$
                return;
            }
            subTree = GuiPackage.getInstance().getCurrentSubTree();
        } else {
            fullSave = true;
            HashTree testPlan = GuiPackage.getInstance().getTreeModel().getTestPlan();
            // If saveWorkBench
            JMeterTreeNode workbenchNode = (JMeterTreeNode) ((JMeterTreeNode) GuiPackage.getInstance().getTreeModel().getRoot()).getChildAt(1);
            if (((WorkBench)workbenchNode.getUserObject()).getSaveWorkBench()) {
                HashTree workbench = GuiPackage.getInstance().getTreeModel().getWorkBench();
                testPlan.add(workbench);
            }
            subTree = testPlan;
        }
View Full Code Here

        suite.addTest(new TestLoad("checkTestFile",testFiles[i],dir));
    }
  }
 
  public void checkTestFile() throws Exception{
    HashTree tree = null;
    try {
      tree =getTree(testFile);
    } catch (Exception e) {
      fail(parent+": "+ testFile.getName()+" caused "+e);
    }
View Full Code Here

      fail(parent+ ": " +name+" tree should be TestPlan, but is "+object.getClass().getName());
    }
  }

  private HashTree getTree(File f) throws Exception {
    HashTree tree = SaveService.loadTree(new FileInputStream(f));
    return tree;
  }
View Full Code Here

TOP

Related Classes of org.apache.jorphan.collections.HashTree$TreeSearcher

Copyright © 2018 www.massapicom. 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.