Example usage for weka.core.converters ArffSaver setOptions

List of usage examples for weka.core.converters ArffSaver setOptions

Introduction

In this page you can find the example usage for weka.core.converters ArffSaver setOptions.

Prototype

@Override
public void setOptions(String[] options) throws Exception 

Source Link

Document

Parses the options for this object.

Usage

From source file:adams.gui.menu.MakeCompatibleDatasets.java

License:Open Source License

/**
 * Creates the flow.//from ww  w.ja va 2  s  .co  m
 *
 * @param input   the input files
 * @param loader   the custom loader, null if automatic
 * @param reader   the spreadsheet reader, null if not to use
 * @param ext      the file extension to which to apply the spreadsheet reader
 * @param output   the output directory to store the generated ARFF files in
 * @return       the flow
 * @throws Exception if set up fails
 */
protected Flow createFlow(PlaceholderFile[] input, AbstractFileLoader loader, SpreadSheetReader reader,
        String ext, PlaceholderDirectory output) throws Exception {
    AbstractArgumentOption argOption;

    adams.flow.control.Flow actor = new adams.flow.control.Flow();

    List<Actor> actors = new ArrayList<>();

    // Flow.out dir
    SetVariable setvariable = new SetVariable();
    argOption = (AbstractArgumentOption) setvariable.getOptionManager().findByProperty("name");
    setvariable.setName((String) argOption.valueOf("out dir"));
    argOption = (AbstractArgumentOption) setvariable.getOptionManager().findByProperty("variableName");
    setvariable.setVariableName((VariableName) argOption.valueOf("outdir"));
    argOption = (AbstractArgumentOption) setvariable.getOptionManager().findByProperty("variableValue");
    setvariable.setVariableValue((BaseText) argOption.valueOf(output.getAbsolutePath()));
    actors.add(setvariable);

    // Flow.use adams spreadsheetreader
    SetVariable setvariable2 = new SetVariable();
    argOption = (AbstractArgumentOption) setvariable2.getOptionManager().findByProperty("name");
    setvariable2.setName((String) argOption.valueOf("use adams spreadsheetreader"));
    argOption = (AbstractArgumentOption) setvariable2.getOptionManager().findByProperty("variableName");
    setvariable2.setVariableName((VariableName) argOption.valueOf("use_adams_spreader"));
    argOption = (AbstractArgumentOption) setvariable2.getOptionManager().findByProperty("variableValue");
    setvariable2.setVariableValue((BaseText) argOption.valueOf("false"));
    actors.add(setvariable2);

    // Flow.Start
    Start start = new Start();
    actors.add(start);

    // Flow.load files
    Trigger trigger = new Trigger();
    {
        argOption = (AbstractArgumentOption) trigger.getOptionManager().findByProperty("name");
        trigger.setName((String) argOption.valueOf("load files"));
        List<Actor> actors2 = new ArrayList<>();

        // Flow.load files.FileSupplier
        FileSupplier filesupplier = new FileSupplier();
        filesupplier.setOutputArray(true);
        filesupplier.setFiles(input);
        actors2.add(filesupplier);

        // Flow.load files.num files
        Tee tee = new Tee();
        {
            argOption = (AbstractArgumentOption) tee.getOptionManager().findByProperty("name");
            tee.setName((String) argOption.valueOf("num files"));
            List<Actor> actors3 = new ArrayList<>();

            // Flow.load files.num files.ArrayLength
            ArrayLength arraylength = new ArrayLength();
            actors3.add(arraylength);

            // Flow.load files.num files.SetVariable
            adams.flow.transformer.SetVariable setvariable3 = new adams.flow.transformer.SetVariable();
            argOption = (AbstractArgumentOption) setvariable3.getOptionManager().findByProperty("variableName");
            setvariable3.setVariableName((VariableName) argOption.valueOf("num_files"));
            actors3.add(setvariable3);
            tee.setActors(actors3.toArray(new Actor[0]));

        }
        actors2.add(tee);

        // Flow.load files.new length array
        Trigger trigger2 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger2.getOptionManager().findByProperty("name");
            trigger2.setName((String) argOption.valueOf("new length array"));
            List<Actor> actors4 = new ArrayList<>();

            // Flow.load files.new length array.NewArray
            NewArray newarray = new NewArray();
            argOption = (AbstractArgumentOption) newarray.getOptionManager().findByProperty("arrayClass");
            newarray.setArrayClass((String) argOption.valueOf("java.lang.Integer"));
            argOption = (AbstractArgumentOption) newarray.getOptionManager().findByProperty("dimensions");
            newarray.setDimensions((ArrayDimensions) argOption.valueOf("[@{num_files}]"));
            actors4.add(newarray);

            // Flow.load files.new length array.SetStorageValue
            SetStorageValue setstoragevalue = new SetStorageValue();
            argOption = (AbstractArgumentOption) setstoragevalue.getOptionManager()
                    .findByProperty("storageName");
            setstoragevalue.setStorageName((StorageName) argOption.valueOf("lengths"));
            actors4.add(setstoragevalue);
            trigger2.setActors(actors4.toArray(new Actor[0]));

        }
        actors2.add(trigger2);

        // Flow.load files.new name array
        Trigger trigger3 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger3.getOptionManager().findByProperty("name");
            trigger3.setName((String) argOption.valueOf("new name array"));
            List<Actor> actors5 = new ArrayList<Actor>();

            // Flow.load files.new name array.NewArray
            NewArray newarray2 = new NewArray();
            argOption = (AbstractArgumentOption) newarray2.getOptionManager().findByProperty("dimensions");
            newarray2.setDimensions((ArrayDimensions) argOption.valueOf("[@{num_files}]"));
            actors5.add(newarray2);

            // Flow.load files.new name array.SetStorageValue
            SetStorageValue setstoragevalue2 = new SetStorageValue();
            argOption = (AbstractArgumentOption) setstoragevalue2.getOptionManager()
                    .findByProperty("storageName");
            setstoragevalue2.setStorageName((StorageName) argOption.valueOf("names"));
            actors5.add(setstoragevalue2);
            trigger3.setActors(actors5.toArray(new Actor[0]));

        }
        actors2.add(trigger3);

        // Flow.load files.SetVariable
        adams.flow.transformer.SetVariable setvariable4 = new adams.flow.transformer.SetVariable();
        argOption = (AbstractArgumentOption) setvariable4.getOptionManager().findByProperty("variableName");
        setvariable4.setVariableName((VariableName) argOption.valueOf("index"));
        argOption = (AbstractArgumentOption) setvariable4.getOptionManager().findByProperty("variableValue");
        setvariable4.setVariableValue((BaseText) argOption.valueOf("0"));
        actors2.add(setvariable4);

        // Flow.load files.ArrayProcess
        ArrayProcess arrayprocess = new ArrayProcess();
        {
            List<Actor> actors6 = new ArrayList<>();

            // Flow.load files.ArrayProcess.IncVariable
            IncVariable incvariable = new IncVariable();
            argOption = (AbstractArgumentOption) incvariable.getOptionManager().findByProperty("variableName");
            incvariable.setVariableName((VariableName) argOption.valueOf("index"));
            actors6.add(incvariable);

            // Flow.load files.ArrayProcess.name
            Tee tee2 = new Tee();
            {
                argOption = (AbstractArgumentOption) tee2.getOptionManager().findByProperty("name");
                tee2.setName((String) argOption.valueOf("name"));
                List<Actor> actors7 = new ArrayList<>();

                // Flow.load files.ArrayProcess.name.BaseName
                BaseName basename = new BaseName();
                basename.setRemoveExtension(true);

                actors7.add(basename);

                // Flow.load files.ArrayProcess.name.SetVariable
                adams.flow.transformer.SetVariable setvariable5 = new adams.flow.transformer.SetVariable();
                argOption = (AbstractArgumentOption) setvariable5.getOptionManager()
                        .findByProperty("variableName");
                setvariable5.setVariableName((VariableName) argOption.valueOf("name"));
                actors7.add(setvariable5);

                // Flow.load files.ArrayProcess.name.update array
                Trigger trigger4 = new Trigger();
                {
                    argOption = (AbstractArgumentOption) trigger4.getOptionManager().findByProperty("name");
                    trigger4.setName((String) argOption.valueOf("update array"));
                    List<Actor> actors8 = new ArrayList<>();

                    // Flow.load files.ArrayProcess.name.update array.StorageValue
                    StorageValue storagevalue = new StorageValue();
                    argOption = (AbstractArgumentOption) storagevalue.getOptionManager()
                            .findByProperty("storageName");
                    storagevalue.setStorageName((StorageName) argOption.valueOf("names"));
                    actors8.add(storagevalue);

                    // Flow.load files.ArrayProcess.name.update array.SetArrayElement
                    SetArrayElement setarrayelement = new SetArrayElement();
                    argOption = (AbstractArgumentOption) setarrayelement.getOptionManager()
                            .findByProperty("index");
                    argOption.setVariable("@{index}");
                    argOption = (AbstractArgumentOption) setarrayelement.getOptionManager()
                            .findByProperty("value");
                    argOption.setVariable("@{name}");
                    actors8.add(setarrayelement);

                    // Flow.load files.ArrayProcess.name.update array.SetStorageValue
                    SetStorageValue setstoragevalue3 = new SetStorageValue();
                    argOption = (AbstractArgumentOption) setstoragevalue3.getOptionManager()
                            .findByProperty("storageName");
                    setstoragevalue3.setStorageName((StorageName) argOption.valueOf("names"));
                    actors8.add(setstoragevalue3);
                    trigger4.setActors(actors8.toArray(new Actor[0]));

                }
                actors7.add(trigger4);
                tee2.setActors(actors7.toArray(new Actor[0]));

            }
            actors6.add(tee2);

            // Flow.load files.ArrayProcess.extension
            Tee tee3 = new Tee();
            {
                argOption = (AbstractArgumentOption) tee3.getOptionManager().findByProperty("name");
                tee3.setName((String) argOption.valueOf("extension"));
                List<Actor> actors9 = new ArrayList<>();

                // Flow.load files.ArrayProcess.extension.FileExtension
                FileExtension fileextension = new FileExtension();
                actors9.add(fileextension);

                // Flow.load files.ArrayProcess.extension.SetVariable
                adams.flow.transformer.SetVariable setvariable6 = new adams.flow.transformer.SetVariable();
                argOption = (AbstractArgumentOption) setvariable6.getOptionManager()
                        .findByProperty("variableName");
                setvariable6.setVariableName((VariableName) argOption.valueOf("extension"));
                actors9.add(setvariable6);
                tee3.setActors(actors9.toArray(new Actor[0]));

            }
            actors6.add(tee3);

            // Flow.load files.ArrayProcess.Switch
            Switch switch_ = new Switch();
            {
                List<BooleanCondition> conditions = new ArrayList<BooleanCondition>();
                Expression expression = new Expression();
                argOption = (AbstractArgumentOption) expression.getOptionManager().findByProperty("expression");
                expression.setExpression(
                        (BooleanExpressionText) argOption.valueOf("(lower(\\\"@{extension}\\\") = \\\"" + ext
                                + "\\\") and (@{use_adams_spreader} = " + (reader != null) + ")"));
                conditions.add(expression);
                switch_.setConditions(conditions.toArray(new BooleanCondition[0]));

                List<Actor> cases = new ArrayList<>();

                // Flow.load files.ArrayProcess.Switch.SpreadSheetFileReader
                SpreadSheetFileReader spreadsheetfilereader = new SpreadSheetFileReader();
                CsvSpreadSheetReader csvspreadsheetreader = new CsvSpreadSheetReader();
                DenseDataRow densedatarow = new DenseDataRow();
                csvspreadsheetreader.setDataRowType(densedatarow);

                SpreadSheet spreadsheet = new DefaultSpreadSheet();
                csvspreadsheetreader.setSpreadSheetType(spreadsheet);

                if (reader != null)
                    spreadsheetfilereader.setReader(reader);
                else
                    spreadsheetfilereader.setReader(csvspreadsheetreader);

                cases.add(spreadsheetfilereader);

                // Flow.load files.ArrayProcess.Switch.weka
                SubProcess subprocess = new SubProcess();
                {
                    argOption = (AbstractArgumentOption) subprocess.getOptionManager().findByProperty("name");
                    subprocess.setName((String) argOption.valueOf("weka"));
                    List<Actor> actors10 = new ArrayList<>();

                    // Flow.load files.ArrayProcess.Switch.weka.WekaFileReader
                    WekaFileReader wekafilereader = new WekaFileReader();
                    wekafilereader.setUseCustomLoader(loader != null);
                    AArffLoader aarffloader = new AArffLoader();
                    if (loader != null)
                        wekafilereader.setCustomLoader(loader);
                    else
                        wekafilereader.setCustomLoader(aarffloader);

                    actors10.add(wekafilereader);

                    // Flow.load files.ArrayProcess.Switch.weka.Convert
                    Convert convert = new Convert();
                    WekaInstancesToSpreadSheet wekainstancestospreadsheet = new WekaInstancesToSpreadSheet();
                    DenseDataRow densedatarow2 = new DenseDataRow();
                    wekainstancestospreadsheet.setDataRowType(densedatarow2);

                    SpreadSheet spreadsheet2 = new DefaultSpreadSheet();
                    wekainstancestospreadsheet.setSpreadSheetType(spreadsheet2);

                    convert.setConversion(wekainstancestospreadsheet);

                    actors10.add(convert);
                    subprocess.setActors(actors10.toArray(new Actor[0]));

                }
                cases.add(subprocess);
                switch_.setCases(cases.toArray(new Actor[0]));

            }
            actors6.add(switch_);

            // Flow.load files.ArrayProcess.num rows
            Tee tee4 = new Tee();
            {
                argOption = (AbstractArgumentOption) tee4.getOptionManager().findByProperty("name");
                tee4.setName((String) argOption.valueOf("num rows"));
                List<Actor> actors11 = new ArrayList<>();

                // Flow.load files.ArrayProcess.num rows.SpreadSheetInfo
                SpreadSheetInfo spreadsheetinfo = new SpreadSheetInfo();
                actors11.add(spreadsheetinfo);

                // Flow.load files.ArrayProcess.num rows.SetVariable
                adams.flow.transformer.SetVariable setvariable7 = new adams.flow.transformer.SetVariable();
                argOption = (AbstractArgumentOption) setvariable7.getOptionManager()
                        .findByProperty("variableName");
                setvariable7.setVariableName((VariableName) argOption.valueOf("length"));
                actors11.add(setvariable7);

                // Flow.load files.ArrayProcess.num rows.update array
                Trigger trigger5 = new Trigger();
                {
                    argOption = (AbstractArgumentOption) trigger5.getOptionManager().findByProperty("name");
                    trigger5.setName((String) argOption.valueOf("update array"));
                    List<Actor> actors12 = new ArrayList<>();

                    // Flow.load files.ArrayProcess.num rows.update array.StorageValue
                    StorageValue storagevalue2 = new StorageValue();
                    argOption = (AbstractArgumentOption) storagevalue2.getOptionManager()
                            .findByProperty("storageName");
                    storagevalue2.setStorageName((StorageName) argOption.valueOf("lengths"));
                    actors12.add(storagevalue2);

                    // Flow.load files.ArrayProcess.num rows.update array.SetArrayElement
                    SetArrayElement setarrayelement2 = new SetArrayElement();
                    argOption = (AbstractArgumentOption) setarrayelement2.getOptionManager()
                            .findByProperty("index");
                    argOption.setVariable("@{index}");
                    argOption = (AbstractArgumentOption) setarrayelement2.getOptionManager()
                            .findByProperty("value");
                    argOption.setVariable("@{length}");
                    actors12.add(setarrayelement2);

                    // Flow.load files.ArrayProcess.num rows.update array.SetStorageValue
                    SetStorageValue setstoragevalue4 = new SetStorageValue();
                    argOption = (AbstractArgumentOption) setstoragevalue4.getOptionManager()
                            .findByProperty("storageName");
                    setstoragevalue4.setStorageName((StorageName) argOption.valueOf("lengths"));
                    actors12.add(setstoragevalue4);
                    trigger5.setActors(actors12.toArray(new Actor[0]));

                }
                actors11.add(trigger5);
                tee4.setActors(actors11.toArray(new Actor[0]));

            }
            actors6.add(tee4);
            arrayprocess.setActors(actors6.toArray(new Actor[0]));

        }
        actors2.add(arrayprocess);

        // Flow.load files.SetStorageValue
        SetStorageValue setstoragevalue5 = new SetStorageValue();
        argOption = (AbstractArgumentOption) setstoragevalue5.getOptionManager().findByProperty("storageName");
        setstoragevalue5.setStorageName((StorageName) argOption.valueOf("sheets"));
        actors2.add(setstoragevalue5);
        trigger.setActors(actors2.toArray(new Actor[0]));

    }
    actors.add(trigger);

    // Flow.combine files
    Trigger trigger6 = new Trigger();
    {
        argOption = (AbstractArgumentOption) trigger6.getOptionManager().findByProperty("name");
        trigger6.setName((String) argOption.valueOf("combine files"));
        List<Actor> actors13 = new ArrayList<>();

        // Flow.combine files.StorageValue
        StorageValue storagevalue3 = new StorageValue();
        argOption = (AbstractArgumentOption) storagevalue3.getOptionManager().findByProperty("storageName");
        storagevalue3.setStorageName((StorageName) argOption.valueOf("sheets"));
        actors13.add(storagevalue3);

        // Flow.combine files.ArrayToSequence
        ArrayToSequence arraytosequence = new ArrayToSequence();
        actors13.add(arraytosequence);

        // Flow.combine files.SpreadSheetAppend
        SpreadSheetAppend spreadsheetappend = new SpreadSheetAppend();
        spreadsheetappend.setNoCopy(true);

        argOption = (AbstractArgumentOption) spreadsheetappend.getOptionManager().findByProperty("storageName");
        spreadsheetappend.setStorageName((StorageName) argOption.valueOf("combined_sheets"));
        actors13.add(spreadsheetappend);
        trigger6.setActors(actors13.toArray(new Actor[0]));

    }
    actors.add(trigger6);

    // Flow.create combined arff
    Trigger trigger7 = new Trigger();
    {
        argOption = (AbstractArgumentOption) trigger7.getOptionManager().findByProperty("name");
        trigger7.setName((String) argOption.valueOf("create combined arff"));
        List<Actor> actors14 = new ArrayList<>();

        // Flow.create combined arff.StorageValue
        StorageValue storagevalue4 = new StorageValue();
        argOption = (AbstractArgumentOption) storagevalue4.getOptionManager().findByProperty("storageName");
        storagevalue4.setStorageName((StorageName) argOption.valueOf("combined_sheets"));
        actors14.add(storagevalue4);

        // Flow.create combined arff.Convert
        Convert convert2 = new Convert();
        SpreadSheetToWekaInstances spreadsheettowekainstances = new SpreadSheetToWekaInstances();
        convert2.setConversion(spreadsheettowekainstances);

        actors14.add(convert2);

        // Flow.create combined arff.SetStorageValue
        SetStorageValue setstoragevalue6 = new SetStorageValue();
        argOption = (AbstractArgumentOption) setstoragevalue6.getOptionManager().findByProperty("storageName");
        setstoragevalue6.setStorageName((StorageName) argOption.valueOf("combined_arff"));
        actors14.add(setstoragevalue6);
        trigger7.setActors(actors14.toArray(new Actor[0]));

    }
    actors.add(trigger7);

    // Flow.create separate arff
    Trigger trigger8 = new Trigger();
    {
        argOption = (AbstractArgumentOption) trigger8.getOptionManager().findByProperty("name");
        trigger8.setName((String) argOption.valueOf("create separate arff"));
        List<Actor> actors15 = new ArrayList<>();

        // Flow.create separate arff.StorageForLoop
        StorageForLoop storageforloop = new StorageForLoop();
        argOption = (AbstractArgumentOption) storageforloop.getOptionManager().findByProperty("loopUpper");
        argOption.setVariable("@{num_files}");
        argOption = (AbstractArgumentOption) storageforloop.getOptionManager().findByProperty("variableName");
        storageforloop.setVariableName((VariableName) argOption.valueOf("index"));
        argOption = (AbstractArgumentOption) storageforloop.getOptionManager().findByProperty("storageName");
        storageforloop.setStorageName((StorageName) argOption.valueOf("combined_arff"));
        actors15.add(storageforloop);

        // Flow.create separate arff.get name
        Trigger trigger9 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger9.getOptionManager().findByProperty("name");
            trigger9.setName((String) argOption.valueOf("get name"));
            List<Actor> actors16 = new ArrayList<>();

            // Flow.create separate arff.get name.StorageValue
            StorageValue storagevalue5 = new StorageValue();
            argOption = (AbstractArgumentOption) storagevalue5.getOptionManager().findByProperty("storageName");
            storagevalue5.setStorageName((StorageName) argOption.valueOf("names"));
            actors16.add(storagevalue5);

            // Flow.create separate arff.get name.GetArrayElement
            GetArrayElement getarrayelement = new GetArrayElement();
            argOption = (AbstractArgumentOption) getarrayelement.getOptionManager().findByProperty("index");
            argOption.setVariable("@{index}");
            actors16.add(getarrayelement);

            // Flow.create separate arff.get name.SetVariable
            adams.flow.transformer.SetVariable setvariable8 = new adams.flow.transformer.SetVariable();
            argOption = (AbstractArgumentOption) setvariable8.getOptionManager().findByProperty("variableName");
            setvariable8.setVariableName((VariableName) argOption.valueOf("name"));
            actors16.add(setvariable8);
            trigger9.setActors(actors16.toArray(new Actor[0]));

        }
        actors15.add(trigger9);

        // Flow.create separate arff.get length
        Trigger trigger10 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger10.getOptionManager().findByProperty("name");
            trigger10.setName((String) argOption.valueOf("get length"));
            List<Actor> actors17 = new ArrayList<>();

            // Flow.create separate arff.get length.StorageValue
            StorageValue storagevalue6 = new StorageValue();
            argOption = (AbstractArgumentOption) storagevalue6.getOptionManager().findByProperty("storageName");
            storagevalue6.setStorageName((StorageName) argOption.valueOf("lengths"));
            actors17.add(storagevalue6);

            // Flow.create separate arff.get length.GetArrayElement
            GetArrayElement getarrayelement2 = new GetArrayElement();
            argOption = (AbstractArgumentOption) getarrayelement2.getOptionManager().findByProperty("index");
            argOption.setVariable("@{index}");
            actors17.add(getarrayelement2);

            // Flow.create separate arff.get length.SetVariable
            adams.flow.transformer.SetVariable setvariable9 = new adams.flow.transformer.SetVariable();
            argOption = (AbstractArgumentOption) setvariable9.getOptionManager().findByProperty("variableName");
            setvariable9.setVariableName((VariableName) argOption.valueOf("length"));
            actors17.add(setvariable9);
            trigger10.setActors(actors17.toArray(new Actor[0]));

        }
        actors15.add(trigger10);

        // Flow.create separate arff.create range
        Trigger trigger11 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger11.getOptionManager().findByProperty("name");
            trigger11.setName((String) argOption.valueOf("create range"));
            List<Actor> actors18 = new ArrayList<>();

            // Flow.create separate arff.create range.CombineVariables
            CombineVariables combinevariables = new CombineVariables();
            argOption = (AbstractArgumentOption) combinevariables.getOptionManager()
                    .findByProperty("expression");
            combinevariables.setExpression((BaseText) argOption.valueOf("1-@{length}"));
            actors18.add(combinevariables);

            // Flow.create separate arff.create range.SetVariable
            adams.flow.transformer.SetVariable setvariable10 = new adams.flow.transformer.SetVariable();
            argOption = (AbstractArgumentOption) setvariable10.getOptionManager()
                    .findByProperty("variableName");
            setvariable10.setVariableName((VariableName) argOption.valueOf("range"));
            actors18.add(setvariable10);
            trigger11.setActors(actors18.toArray(new Actor[0]));

        }
        actors15.add(trigger11);

        // Flow.create separate arff.output file
        Trigger trigger12 = new Trigger();
        {
            argOption = (AbstractArgumentOption) trigger12.getOptionManager().findByProperty("name");
            trigger12.setName((String) argOption.valueOf("output file"));
            List<Actor> actors19 = new ArrayList<>();

            // Flow.create separate arff.output file.CombineVariables
            CombineVariables combinevariables2 = new CombineVariables();
            argOption = (AbstractArgumentOption) combinevariables2.getOptionManager()
                    .findByProperty("expression");
            combinevariables2.setExpression((BaseText) argOption.valueOf("@{name}.arff"));
            actors19.add(combinevariables2);

            // Flow.create separate arff.output file.PrependDir
            PrependDir prependdir = new PrependDir();
            argOption = (AbstractArgumentOption) prependdir.getOptionManager().findByProperty("prefix");
            argOption.setVariable("@{outdir}");
            actors19.add(prependdir);

            // Flow.create separate arff.output file.SetVariable
            adams.flow.transformer.SetVariable setvariable11 = new adams.flow.transformer.SetVariable();
            argOption = (AbstractArgumentOption) setvariable11.getOptionManager()
                    .findByProperty("variableName");
            setvariable11.setVariableName((VariableName) argOption.valueOf("outfile"));
            actors19.add(setvariable11);
            trigger12.setActors(actors19.toArray(new Actor[0]));

        }
        actors15.add(trigger12);

        // save ARFF
        Tee teeSave = new Tee();
        teeSave.setName("save ARFF");
        actors15.add(teeSave);
        {
            // Flow.create separate arff.save ARFF.UpdateProperties
            UpdateProperties updateproperties = new UpdateProperties();
            {
                argOption = (AbstractArgumentOption) updateproperties.getOptionManager()
                        .findByProperty("properties");
                List<BaseString> properties = new ArrayList<BaseString>();
                properties.add((BaseString) argOption.valueOf("filter.instancesIndices"));
                updateproperties.setProperties(properties.toArray(new BaseString[0]));
                argOption = (AbstractArgumentOption) updateproperties.getOptionManager()
                        .findByProperty("variableNames");
                List<VariableName> variablenames = new ArrayList<VariableName>();
                variablenames.add((VariableName) argOption.valueOf("range"));
                updateproperties.setVariableNames(variablenames.toArray(new VariableName[0]));

                // Flow.create separate arff.save ARFF.UpdateProperties.WekaFilter
                WekaFilter wekafilter = new WekaFilter();
                RemoveRange removerange = new RemoveRange();
                removerange.setOptions(OptionUtils.splitOptions("-V -R first-last"));
                wekafilter.setFilter(removerange);

                updateproperties.setSubActor(wekafilter);

            }
            teeSave.add(updateproperties);

            // Flow.create separate arff.save ARFF.WekaRenameRelation
            WekaRenameRelation wekarenamerelation = new WekaRenameRelation();
            argOption = (AbstractArgumentOption) wekarenamerelation.getOptionManager()
                    .findByProperty("replace");
            argOption.setVariable("@{name}");
            teeSave.add(wekarenamerelation);

            // Flow.create separate arff.save ARFF.WekaFileWriter
            WekaFileWriter wekafilewriter = new WekaFileWriter();
            argOption = (AbstractArgumentOption) wekafilewriter.getOptionManager().findByProperty("outputFile");
            argOption.setVariable("@{outfile}");
            ArffSaver arffsaver = new ArffSaver();
            arffsaver.setOptions(OptionUtils.splitOptions("-decimal 6"));
            wekafilewriter.setCustomSaver(arffsaver);

            teeSave.add(wekafilewriter);
        }

        // update dataset
        SubProcess subUpdate = new SubProcess();
        subUpdate.setName("update dataset");
        actors15.add(subUpdate);
        {
            // Flow.create separate arff.update dataset.UpdateProperties
            UpdateProperties updateproperties = new UpdateProperties();
            {
                argOption = (AbstractArgumentOption) updateproperties.getOptionManager()
                        .findByProperty("properties");
                List<BaseString> properties = new ArrayList<BaseString>();
                properties.add((BaseString) argOption.valueOf("filter.instancesIndices"));
                updateproperties.setProperties(properties.toArray(new BaseString[0]));
                argOption = (AbstractArgumentOption) updateproperties.getOptionManager()
                        .findByProperty("variableNames");
                List<VariableName> variablenames = new ArrayList<VariableName>();
                variablenames.add((VariableName) argOption.valueOf("range"));
                updateproperties.setVariableNames(variablenames.toArray(new VariableName[0]));

                // Flow.create separate arff.update dataset.UpdateProperties.WekaFilter
                WekaFilter wekafilter = new WekaFilter();
                RemoveRange removerange = new RemoveRange();
                removerange.setOptions(OptionUtils.splitOptions("-R first-last"));
                wekafilter.setFilter(removerange);

                updateproperties.setSubActor(wekafilter);
            }
            subUpdate.add(updateproperties);

            // Flow.create separate arff.update dataset.SetStorageValue
            SetStorageValue setstoragevalue6 = new SetStorageValue();
            argOption = (AbstractArgumentOption) setstoragevalue6.getOptionManager()
                    .findByProperty("storageName");
            setstoragevalue6.setStorageName((StorageName) argOption.valueOf("combined_arff"));
            subUpdate.add(setstoragevalue6);
        }

        trigger8.setActors(actors15.toArray(new Actor[0]));

    }
    actors.add(trigger8);
    actor.setActors(actors.toArray(new Actor[0]));

    NullListener nulllistener = new NullListener();
    actor.setFlowExecutionListener(nulllistener);

    return actor;
}