Examples of TSPData


Examples of de.hwrberlin.it11.tsp.model.TSPData

  /**
   * Testet das Hinzuf�gen einer Node zum Projekt.
   */
  public void testNodeAdd() {
    TSPData data = new TSPData();
    int count = data.getNodeList().size();
    data.addNode(new Node(0, 0));
    assertTrue(count + 1 == data.getNodeList().size());
  }
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

  /**
   * Testet das L�schen einer Node aus dem Projekt.
   */
  public void testNodeRemove() {
    TSPData data = new TSPData();
    Node node = new Node(0, 0);
    data.addNode(node);
    int count = data.getNodeList().size();
    data.removeNode(node);
    assertTrue(count - 1 == data.getNodeList().size());
  }
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

  /**
   * Testet das Bewegen einer Node.
   */
  public void testNodeMove() {
    TSPData data = new TSPData();
    Node node = new Node(100, 100);
    data.addNode(node);
    node.setxCoordinate(150);
    node.setyCoordinate(30);
    assertTrue(node.getxCoordinate() == 150);
    assertTrue(node.getyCoordinate() == 30);
  }
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

            for (int i = 0; i < nodeCount; i++) {
              Node node = new Node(Math.random() * maxX, Math.random() * maxY);
              nodeList.add(node);
            }

            _result = new TSPData();
            _result.setName("Zufallsprojekt");
            _result.setComment("Zufallsgeneriertes Projekt");
            _result.setEdgeWeightType("EUC_2D");
            _result.setNodeList(nodeList);
            _result.setType("TSP");
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

  public static TSPData loadTSPFile(File pFile) throws IllegalArgumentException {
    if (!pFile.exists()) {
      throw new IllegalArgumentException("Die angegebene Datei existiert nicht.");
    }

    TSPData data = new TSPData();
    BufferedReader reader = null;
    try {
      List<Node> nodeList = new ArrayList<Node>();
      reader = new BufferedReader(new FileReader(pFile));
      String name = null;
      String type = null;
      String comment = null;
      String edgeWeightType = null;
      String line = "";
      boolean nodeSection = false;
      while (!"EOF".equals(line = reader.readLine())) {
        try {
          line = line.trim();
          if (line.matches("\\s*NAME\\s*:\\s*.+")) {
            name = line.split(":")[1].trim();
          }
          if (line.matches("\\s*TYPE\\s*:\\s*.+")) {
            type = line.split(":")[1].trim();
          }
          if (line.matches("\\s*COMMENT\\s*:\\s*.+")) {
            comment = line.split(":")[1].trim();
          }
          if (line.matches("\\s*EDGE_WEIGHT_TYPE\\s*:\\s*.+")) {
            edgeWeightType = line.split(":")[1].trim();
          }
          if (nodeSection) {
            String[] nodeData = line.split("\\s+");
            Node node = new Node(Double.parseDouble(nodeData[1]), Double.parseDouble(nodeData[2]));
            nodeList.add(node);
          }
          if (line.matches("\\s*NODE_COORD_SECTION.*")) {
            nodeSection = true;
          }
        }
        catch (ArrayIndexOutOfBoundsException pEx) {
          throw new IllegalArgumentException("Die angegebene Datei entspricht nicht der Norm. Die Norm k�nnen Sie in der Hilfe nachlesen.");
        }
      }
      if (name == null || type == null || comment == null || edgeWeightType == null) {
        throw new IllegalArgumentException("Die angegebene Datei entspricht nicht der Norm. Die Norm k�nnen Sie in der Hilfe nachlesen.");
      }
      data.setName(name);
      data.setType(type);
      data.setComment(comment);
      data.setEdgeWeightType(edgeWeightType);
      data.setNodeList(nodeList);
    }
    catch (FileNotFoundException e) {
      e.printStackTrace();
    }
    catch (IOException e) {
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

  /**
   * Testet das Laden von .tsp Dateien.
   */
  public void testWriteAndReadTSP() {
    File file = new File("tspTemp.tsp");
    TSPData data = new TSPData();
    data.addNode(new Node(12.5425235464, 52352.245252));
    data.addNode(new Node(535252.52352352, 25252523.52352352));

    Persister.saveTSPFile(file, data);

    TSPData otherData = Persister.loadTSPFile(file);

    assertEquals(data.getComment(), otherData.getComment());
    assertEquals(data.getEdgeWeightType(), otherData.getEdgeWeightType());
    assertEquals(data.getName(), otherData.getName());
    assertEquals(data.getType(), otherData.getType());
    for (int i = 0; i < data.getNodeList().size(); i++) {
      Node node = data.getNodeList().get(i);
      Node otherNode = otherData.getNodeList().get(i);
      assertEquals(node.getxCoordinate(), otherNode.getxCoordinate());
      assertEquals(node.getyCoordinate(), otherNode.getyCoordinate());
    }

    file.delete();
View Full Code Here

Examples of de.hwrberlin.it11.tsp.model.TSPData

        if (!_currentTabContent.getController().isRunning()) {
          String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.OPEN).setFilter(FileDialogFilter.TSP).open();
          if (path != null) {
            try {
              File file = new File(path);
              TSPData data = Persister.loadTSPFile(file);
              _currentTabContent.setTSPFile(file);
              _tabFolder.getSelection().setText(data.getName());
              _currentTabContent.getController().getProject().setTSPData(data);
            }
            catch (IllegalArgumentException pEx) {
              MessageDialog.openError(pParent, "Ung�ltige Datei", pEx.getMessage());
            }
          }
        }
        else {
          MessageDialog.openError(pParent, "TSP Datei �ffnen", "Es kann keine TSP Datei ge�ffnet werden, wenn der Algorithmus l�uft.");
        }
      }
    });

    fileMenuItemSaveTSPFile.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        File file = _currentTabContent.getTSPFile();
        if (file == null) {
          String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.SAVE).setFilter(FileDialogFilter.TSP).open();
          if (path != null) {
            file = new File(path);
            _currentTabContent.setTSPFile(file);
          }
        }
        if (file != null) {
          Persister.saveTSPFile(file, _currentTabContent.getController().getProject().getTSPData());
        }
      }
    });

    fileMenuItemSaveTSPFileAs.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.SAVE).setFilter(FileDialogFilter.TSP).open();
        if (path != null) {
          File file = new File(path);
          _currentTabContent.setTSPFile(file);
          Persister.saveTSPFile(file, _currentTabContent.getController().getProject().getTSPData());
        }
      }
    });

    fileMenuItemOpenConfigFile.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        if (!_currentTabContent.getController().isRunning()) {
          String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.OPEN).setFilter(FileDialogFilter.TSPCONFIG).open();
          if (path != null) {
            try {
              File file = new File(path);
              Parameter parameter = Persister.loadParameterFile(file);
              _currentTabContent.setTSPConfigFile(file);
              _currentTabContent.getController().getProject().setParameter(parameter);
            }
            catch (IllegalArgumentException pEx) {
              MessageDialog.openError(pParent, "Ung�ltige Datei", pEx.getMessage());
            }
          }
        }
        else {
          MessageDialog.openError(pParent, "Konfigurationsdatei �ffnen",
              "Es kann keine Konfigurationsdatei ge�ffnet werden, wenn der Algorithmus l�uft.");
        }
      }
    });

    fileMenuItemSaveConfigFile.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        File file = _currentTabContent.getTSPConfigFile();
        if (file == null) {
          String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.SAVE).setFilter(FileDialogFilter.TSPCONFIG).open();
          if (path != null) {
            file = new File(path);
            _currentTabContent.setTSPConfigFile(file);
          }
        }
        if (file != null) {
          Persister.saveParameterFile(file, _currentTabContent.getController().getProject().getParameter());
        }
      }
    });

    fileMenuItemSaveConfigFileAs.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        String path = new FileDialogFactory().setParent(pParent).setStyle(SWT.SAVE).setFilter(FileDialogFilter.TSPCONFIG).open();
        if (path != null) {
          File file = new File(path);
          _currentTabContent.setTSPConfigFile(file);
          Persister.saveParameterFile(file, _currentTabContent.getController().getProject().getParameter());
        }
      }
    });

    fileMenuItemClose.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        pParent.close();
      }
    });

    editMenuItemCreateRandomProject.addSelectionListener(new SelectionAdapter() {

      @Override
      public void widgetSelected(SelectionEvent pE) {
        if (!_currentTabContent.getController().isRunning()) {
          RandomProjectDialog randomProjectDialog = new RandomProjectDialog(pParent, _currentTabContent.getController().getProject());
          TSPData data = randomProjectDialog.open();
          if (data != null) {
            _currentTabContent.getController().getProject().setTSPData(data);
          }
        }
        else {
View Full Code Here
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.