Package org.encog.workbench.process

Source Code of org.encog.workbench.process.ImportExport

/*
* Encog(tm) Workbench v3.0
* http://www.heatonresearch.com/encog/
* http://code.google.com/p/encog-java/
* Copyright 2008-2011 Heaton Research, Inc.
*
* 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.
*  
* For more information on Heaton Research copyrights, licenses
* and trademarks visit:
* http://www.heatonresearch.com/copyright
*/
package org.encog.workbench.process;

import java.io.File;

import org.encog.ml.data.buffer.BinaryDataLoader;
import org.encog.ml.data.buffer.codec.CSVDataCODEC;
import org.encog.ml.data.buffer.codec.DataSetCODEC;
import org.encog.ml.data.buffer.codec.ExcelCODEC;
import org.encog.util.csv.CSVFormat;
import org.encog.workbench.EncogWorkBench;
import org.encog.workbench.dialogs.ImportExportDialog;
import org.encog.workbench.dialogs.binary.DialogBinary2External;
import org.encog.workbench.dialogs.binary.DialogCSV;
import org.encog.workbench.dialogs.binary.DialogExternal2Binary;
import org.encog.workbench.util.ExtensionFilter;
import org.encog.workbench.util.TaskComplete;

public class ImportExport {

  public static void performBin2External() {
    performBin2External(null, null);
  }

  public static File performExternal2Bin(File sourceFile, File targetFile, TaskComplete done) {

    File binaryFile = targetFile;

    DialogExternal2Binary dialog = new DialogExternal2Binary(EncogWorkBench
        .getInstance().getMainWindow());

    if (binaryFile != null) {
      dialog.getBinaryFile().setValue(binaryFile.toString());
    }
   
    if( sourceFile!=null ) {
      dialog.getExternalFile().setValue(sourceFile.toString());
    }

    if (dialog.process()) {
      binaryFile = new File(dialog.getBinaryFile().getValue());
      File externFile = new File(dialog.getExternalFile().getValue());
      int fileType = dialog.getFileType().getSelectedIndex();
      int inputCount = dialog.getInputCount().getValue();
      int idealCount = dialog.getIdealCount().getValue();

      // no extension
      if (ExtensionFilter.getExtension(binaryFile) == null) {
        binaryFile = new File(binaryFile.getPath() + ".egb");
      }

      DataSetCODEC codec;
      BinaryDataLoader loader;

      if (fileType == 0) {
        DialogCSV dialog2 = new DialogCSV(EncogWorkBench.getInstance()
            .getMainWindow());
        if (dialog2.process()) {
          boolean headers = dialog2.getHeaders().getValue();
          CSVFormat format;

          if (dialog2.getDecimalComma().getValue())
            format = CSVFormat.DECIMAL_COMMA;
          else
            format = CSVFormat.DECIMAL_POINT;

          codec = new CSVDataCODEC(externFile, format, headers,
              inputCount, idealCount, dialog.getContainsSignificance().getValue());
          loader = new BinaryDataLoader(codec);
          ImportExportDialog dlg = new ImportExportDialog(loader,
              binaryFile, true);
          dlg.process(done);
        }
      } else if (fileType == 1) {
        codec = new ExcelCODEC(externFile,
            inputCount, idealCount);
        loader = new BinaryDataLoader(codec);
        ImportExportDialog dlg = new ImportExportDialog(loader,
            binaryFile, true);
        dlg.process(done);
      }     
      return binaryFile;
    } else
      return null;
  }

  public static void performBin2External(File inBinaryFile, TaskComplete done) {
    DialogBinary2External dialog = new DialogBinary2External(EncogWorkBench
        .getInstance().getMainWindow());
   
    if( inBinaryFile!=null )
      dialog.getBinaryFile().setValue(inBinaryFile.toString());
    if (dialog.process()) {
      File binaryFile = new File(dialog.getBinaryFile().getValue());
      File externFile = new File(dialog.getExternalFile().getValue());
      int fileType = dialog.getFileType().getSelectedIndex();
      DataSetCODEC codec;
      BinaryDataLoader loader;

      if (fileType == 0) {
        DialogCSV dialog2 = new DialogCSV(EncogWorkBench.getInstance()
            .getMainWindow());
        if (dialog2.process()) {
          boolean headers = dialog2.getHeaders().getValue();
          CSVFormat format;

          if (dialog2.getDecimalComma().getValue())
            format = CSVFormat.DECIMAL_COMMA;
          else
            format = CSVFormat.DECIMAL_POINT;

          codec = new CSVDataCODEC(externFile, format,
              dialog2.getGenerateSignificance().getValue());
          loader = new BinaryDataLoader(codec);

          ImportExportDialog dlg = new ImportExportDialog(loader,
              binaryFile, false);
          dlg.process(done);
        }
      } else if (fileType == 1) {
        codec = new ExcelCODEC(externFile);
        loader = new BinaryDataLoader(codec);

        ImportExportDialog dlg = new ImportExportDialog(loader,
            binaryFile, false);
        dlg.process(done);

      }
    }

  }

}
TOP

Related Classes of org.encog.workbench.process.ImportExport

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.