Example usage for weka.filters.unsupervised.instance RemoveRange setOptions

List of usage examples for weka.filters.unsupervised.instance RemoveRange setOptions

Introduction

In this page you can find the example usage for weka.filters.unsupervised.instance RemoveRange setOptions.

Prototype

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

Source Link

Document

Parses a given list of options.

Usage

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

License:Open Source License

/**
 * Creates the flow.// w  w w .j a  va2 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;
}

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

License:Open Source License

/**
 * Used to create an instance of a specific actor.
 *
 * @return a suitably configured <code>Actor</code> value
 * @throws Exception if set up fails/*from  w ww.  j  a v  a 2 s. c om*/
 */
public Actor getActor() throws Exception {
    AbstractArgumentOption argOption;

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

    adams.flow.core.Actor[] actors2 = new adams.flow.core.Actor[9];

    // Flow.CallableActors
    adams.flow.standalone.CallableActors callableactors3 = new adams.flow.standalone.CallableActors();
    adams.flow.core.Actor[] actors4 = new adams.flow.core.Actor[1];

    // Flow.CallableActors.DisplayPanelManager
    adams.flow.sink.DisplayPanelManager displaypanelmanager5 = new adams.flow.sink.DisplayPanelManager();
    argOption = (AbstractArgumentOption) displaypanelmanager5.getOptionManager().findByProperty("width");
    displaypanelmanager5.setWidth((Integer) argOption.valueOf("900"));
    argOption = (AbstractArgumentOption) displaypanelmanager5.getOptionManager().findByProperty("height");
    displaypanelmanager5.setHeight((Integer) argOption.valueOf("600"));
    displaypanelmanager5.setX(-2);
    displaypanelmanager5.setY(-2);
    displaypanelmanager5.setShortTitle(true);
    displaypanelmanager5.setName("Attribute vs attribute");

    //
    adams.flow.sink.WekaInstancesPlot wekainstancesplot9 = new adams.flow.sink.WekaInstancesPlot();
    adams.gui.print.NullWriter nullwriter11 = new adams.gui.print.NullWriter();
    wekainstancesplot9.setWriter(nullwriter11);

    displaypanelmanager5.setPanelProvider(wekainstancesplot9);

    argOption = (AbstractArgumentOption) displaypanelmanager5.getOptionManager()
            .findByProperty("entryNameVariable");
    displaypanelmanager5.setEntryNameVariable((adams.core.VariableNameNoUpdate) argOption.valueOf("label"));
    actors4[0] = displaypanelmanager5;
    callableactors3.setActors(actors4);

    actors2[0] = callableactors3;

    // Flow.WekaSelectDataset
    adams.flow.source.WekaSelectDataset wekaselectdataset13 = new adams.flow.source.WekaSelectDataset();
    wekaselectdataset13.setStopFlowIfCanceled(true);

    argOption = (AbstractArgumentOption) wekaselectdataset13.getOptionManager().findByProperty("initialFiles");
    adams.core.io.PlaceholderFile[] initialfiles14 = new adams.core.io.PlaceholderFile[0];
    wekaselectdataset13.setInitialFiles(initialfiles14);
    actors2[1] = wekaselectdataset13;

    // Flow.WekaFileReader
    adams.flow.transformer.WekaFileReader wekafilereader15 = new adams.flow.transformer.WekaFileReader();
    weka.core.converters.AArffLoader aarffloader17 = new weka.core.converters.AArffLoader();
    wekafilereader15.setCustomLoader(aarffloader17);

    actors2[2] = wekafilereader15;

    // Flow.SetStorageValue
    adams.flow.transformer.SetStorageValue setstoragevalue18 = new adams.flow.transformer.SetStorageValue();
    argOption = (AbstractArgumentOption) setstoragevalue18.getOptionManager().findByProperty("storageName");
    setstoragevalue18.setStorageName((adams.flow.control.StorageName) argOption.valueOf("data"));
    actors2[3] = setstoragevalue18;

    // Flow.WekaFilter
    adams.flow.transformer.WekaFilter wekafilter20 = new adams.flow.transformer.WekaFilter();
    weka.filters.unsupervised.instance.RemoveRange removerange22 = new weka.filters.unsupervised.instance.RemoveRange();
    removerange22.setOptions(OptionUtils.splitOptions("-R first-last"));
    wekafilter20.setFilter(removerange22);

    actors2[4] = wekafilter20;

    // Flow.SetStorageValue-1
    adams.flow.transformer.SetStorageValue setstoragevalue23 = new adams.flow.transformer.SetStorageValue();
    argOption = (AbstractArgumentOption) setstoragevalue23.getOptionManager().findByProperty("name");
    setstoragevalue23.setName((java.lang.String) argOption.valueOf("SetStorageValue-1"));
    argOption = (AbstractArgumentOption) setstoragevalue23.getOptionManager().findByProperty("storageName");
    setstoragevalue23.setStorageName((adams.flow.control.StorageName) argOption.valueOf("atts"));
    actors2[5] = setstoragevalue23;

    // Flow.first lot of attributes
    adams.flow.control.Trigger trigger26 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger26.getOptionManager().findByProperty("name");
    trigger26.setName((java.lang.String) argOption.valueOf("first lot of attributes"));
    adams.flow.core.Actor[] actors28 = new adams.flow.core.Actor[5];

    // Flow.first lot of attributes.StorageValue
    adams.flow.source.StorageValue storagevalue29 = new adams.flow.source.StorageValue();
    argOption = (AbstractArgumentOption) storagevalue29.getOptionManager().findByProperty("storageName");
    storagevalue29.setStorageName((adams.flow.control.StorageName) argOption.valueOf("atts"));
    actors28[0] = storagevalue29;

    // Flow.first lot of attributes.WekaChooseAttributes
    adams.flow.transformer.WekaChooseAttributes wekachooseattributes31 = new adams.flow.transformer.WekaChooseAttributes();
    wekachooseattributes31.setStopFlowIfCanceled(true);

    argOption = (AbstractArgumentOption) wekachooseattributes31.getOptionManager().findByProperty("message");
    wekachooseattributes31
            .setMessage((java.lang.String) argOption.valueOf("Choose the first set of attributes"));
    actors28[1] = wekachooseattributes31;

    // Flow.first lot of attributes.WekaInstancesInfo
    adams.flow.transformer.WekaInstancesInfo wekainstancesinfo33 = new adams.flow.transformer.WekaInstancesInfo();
    wekainstancesinfo33.setOutputArray(true);

    argOption = (AbstractArgumentOption) wekainstancesinfo33.getOptionManager().findByProperty("type");
    wekainstancesinfo33
            .setType((adams.flow.transformer.WekaInstancesInfo.InfoType) argOption.valueOf("ATTRIBUTE_NAMES"));
    actors28[2] = wekainstancesinfo33;

    // Flow.first lot of attributes.Convert
    adams.flow.transformer.Convert convert35 = new adams.flow.transformer.Convert();
    adams.data.conversion.JoinOptions joinoptions37 = new adams.data.conversion.JoinOptions();
    convert35.setConversion(joinoptions37);

    actors28[3] = convert35;

    // Flow.first lot of attributes.SetVariable
    adams.flow.transformer.SetVariable setvariable38 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable38.getOptionManager().findByProperty("variableName");
    setvariable38.setVariableName((adams.core.VariableName) argOption.valueOf("first_atts"));
    actors28[4] = setvariable38;
    trigger26.setActors(actors28);

    actors2[6] = trigger26;

    // Flow.second lot of attributes
    adams.flow.control.Trigger trigger40 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger40.getOptionManager().findByProperty("name");
    trigger40.setName((java.lang.String) argOption.valueOf("second lot of attributes"));
    adams.flow.core.Actor[] actors42 = new adams.flow.core.Actor[5];

    // Flow.second lot of attributes.StorageValue
    adams.flow.source.StorageValue storagevalue43 = new adams.flow.source.StorageValue();
    argOption = (AbstractArgumentOption) storagevalue43.getOptionManager().findByProperty("storageName");
    storagevalue43.setStorageName((adams.flow.control.StorageName) argOption.valueOf("atts"));
    actors42[0] = storagevalue43;

    // Flow.second lot of attributes.WekaChooseAttributes
    adams.flow.transformer.WekaChooseAttributes wekachooseattributes45 = new adams.flow.transformer.WekaChooseAttributes();
    wekachooseattributes45.setStopFlowIfCanceled(true);

    argOption = (AbstractArgumentOption) wekachooseattributes45.getOptionManager().findByProperty("message");
    wekachooseattributes45.setMessage(
            (java.lang.String) argOption.valueOf("Choose the second set of attributes to plot against"));
    actors42[1] = wekachooseattributes45;

    // Flow.second lot of attributes.WekaInstancesInfo
    adams.flow.transformer.WekaInstancesInfo wekainstancesinfo47 = new adams.flow.transformer.WekaInstancesInfo();
    wekainstancesinfo47.setOutputArray(true);

    argOption = (AbstractArgumentOption) wekainstancesinfo47.getOptionManager().findByProperty("type");
    wekainstancesinfo47
            .setType((adams.flow.transformer.WekaInstancesInfo.InfoType) argOption.valueOf("ATTRIBUTE_NAMES"));
    actors42[2] = wekainstancesinfo47;

    // Flow.second lot of attributes.Convert
    adams.flow.transformer.Convert convert49 = new adams.flow.transformer.Convert();
    adams.data.conversion.JoinOptions joinoptions51 = new adams.data.conversion.JoinOptions();
    convert49.setConversion(joinoptions51);

    actors42[3] = convert49;

    // Flow.second lot of attributes.SetVariable
    adams.flow.transformer.SetVariable setvariable52 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable52.getOptionManager().findByProperty("variableName");
    setvariable52.setVariableName((adams.core.VariableName) argOption.valueOf("second_atts"));
    actors42[4] = setvariable52;
    trigger40.setActors(actors42);

    actors2[7] = trigger40;

    // Flow.iterate 1st lot
    adams.flow.control.Trigger trigger54 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger54.getOptionManager().findByProperty("name");
    trigger54.setName((java.lang.String) argOption.valueOf("iterate 1st lot"));
    adams.flow.core.Actor[] actors56 = new adams.flow.core.Actor[3];

    // Flow.iterate 1st lot.StringConstants
    adams.flow.source.StringConstants stringconstants57 = new adams.flow.source.StringConstants();
    argOption = (AbstractArgumentOption) stringconstants57.getOptionManager().findByProperty("strings");
    argOption.setVariable("@{first_atts}");
    actors56[0] = stringconstants57;

    // Flow.iterate 1st lot.SetVariable
    adams.flow.transformer.SetVariable setvariable58 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable58.getOptionManager().findByProperty("variableName");
    setvariable58.setVariableName((adams.core.VariableName) argOption.valueOf("first_att"));
    actors56[1] = setvariable58;

    // Flow.iterate 1st lot.iterate 2nd lot
    adams.flow.control.Trigger trigger60 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger60.getOptionManager().findByProperty("name");
    trigger60.setName((java.lang.String) argOption.valueOf("iterate 2nd lot"));
    adams.flow.core.Actor[] actors62 = new adams.flow.core.Actor[5];

    // Flow.iterate 1st lot.iterate 2nd lot.StringConstants
    adams.flow.source.StringConstants stringconstants63 = new adams.flow.source.StringConstants();
    argOption = (AbstractArgumentOption) stringconstants63.getOptionManager().findByProperty("strings");
    argOption.setVariable("@{second_atts}");
    actors62[0] = stringconstants63;

    // Flow.iterate 1st lot.iterate 2nd lot.SetVariable
    adams.flow.transformer.SetVariable setvariable64 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable64.getOptionManager().findByProperty("variableName");
    setvariable64.setVariableName((adams.core.VariableName) argOption.valueOf("second_att"));
    actors62[1] = setvariable64;

    // Flow.iterate 1st lot.iterate 2nd lot.regexp
    adams.flow.control.Trigger trigger66 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger66.getOptionManager().findByProperty("name");
    trigger66.setName((java.lang.String) argOption.valueOf("regexp"));
    adams.flow.core.Actor[] actors68 = new adams.flow.core.Actor[2];

    // Flow.iterate 1st lot.iterate 2nd lot.regexp.CombineVariables
    adams.flow.source.CombineVariables combinevariables69 = new adams.flow.source.CombineVariables();
    argOption = (AbstractArgumentOption) combinevariables69.getOptionManager().findByProperty("expression");
    combinevariables69
            .setExpression((adams.core.base.BaseText) argOption.valueOf("(@{first_att}|@{second_att})"));
    actors68[0] = combinevariables69;

    // Flow.iterate 1st lot.iterate 2nd lot.regexp.SetVariable
    adams.flow.transformer.SetVariable setvariable71 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable71.getOptionManager().findByProperty("variableName");
    setvariable71.setVariableName((adams.core.VariableName) argOption.valueOf("current"));
    actors68[1] = setvariable71;
    trigger66.setActors(actors68);

    actors62[2] = trigger66;

    // Flow.iterate 1st lot.iterate 2nd lot.label
    adams.flow.control.Trigger trigger73 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger73.getOptionManager().findByProperty("name");
    trigger73.setName((java.lang.String) argOption.valueOf("label"));
    adams.flow.core.Actor[] actors75 = new adams.flow.core.Actor[2];

    // Flow.iterate 1st lot.iterate 2nd lot.label.CombineVariables
    adams.flow.source.CombineVariables combinevariables76 = new adams.flow.source.CombineVariables();
    argOption = (AbstractArgumentOption) combinevariables76.getOptionManager().findByProperty("expression");
    combinevariables76
            .setExpression((adams.core.base.BaseText) argOption.valueOf("@{first_att} vs @{second_att}"));
    actors75[0] = combinevariables76;

    // Flow.iterate 1st lot.iterate 2nd lot.label.SetVariable
    adams.flow.transformer.SetVariable setvariable78 = new adams.flow.transformer.SetVariable();
    argOption = (AbstractArgumentOption) setvariable78.getOptionManager().findByProperty("variableName");
    setvariable78.setVariableName((adams.core.VariableName) argOption.valueOf("label"));
    actors75[1] = setvariable78;
    trigger73.setActors(actors75);

    actors62[3] = trigger73;

    // Flow.iterate 1st lot.iterate 2nd lot.create plot
    adams.flow.control.Trigger trigger80 = new adams.flow.control.Trigger();
    argOption = (AbstractArgumentOption) trigger80.getOptionManager().findByProperty("name");
    trigger80.setName((java.lang.String) argOption.valueOf("create plot"));
    adams.flow.core.Actor[] actors82 = new adams.flow.core.Actor[3];

    // Flow.iterate 1st lot.iterate 2nd lot.create plot.StorageValue
    adams.flow.source.StorageValue storagevalue83 = new adams.flow.source.StorageValue();
    argOption = (AbstractArgumentOption) storagevalue83.getOptionManager().findByProperty("storageName");
    storagevalue83.setStorageName((adams.flow.control.StorageName) argOption.valueOf("data"));
    actors82[0] = storagevalue83;

    // Flow.iterate 1st lot.iterate 2nd lot.create plot.UpdateProperties
    adams.flow.control.UpdateProperties updateproperties85 = new adams.flow.control.UpdateProperties();
    argOption = (AbstractArgumentOption) updateproperties85.getOptionManager().findByProperty("properties");
    adams.core.base.BaseString[] properties86 = new adams.core.base.BaseString[1];
    properties86[0] = (adams.core.base.BaseString) argOption.valueOf("filter.expression");
    updateproperties85.setProperties(properties86);
    argOption = (AbstractArgumentOption) updateproperties85.getOptionManager().findByProperty("variableNames");
    adams.core.VariableName[] variablenames87 = new adams.core.VariableName[1];
    variablenames87[0] = (adams.core.VariableName) argOption.valueOf("current");
    updateproperties85.setVariableNames(variablenames87);

    // Flow.iterate 1st lot.iterate 2nd lot.create plot.UpdateProperties.WekaFilter
    adams.flow.transformer.WekaFilter wekafilter89 = new adams.flow.transformer.WekaFilter();
    weka.filters.unsupervised.attribute.RemoveByName removebyname91 = new weka.filters.unsupervised.attribute.RemoveByName();
    removebyname91.setOptions(OptionUtils.splitOptions("-E ^.*id$ -V"));
    wekafilter89.setFilter(removebyname91);

    wekafilter89.setKeepRelationName(true);

    updateproperties85.setSubActor(wekafilter89);

    actors82[1] = updateproperties85;

    // Flow.iterate 1st lot.iterate 2nd lot.create plot.CallableSink
    adams.flow.sink.CallableSink callablesink92 = new adams.flow.sink.CallableSink();
    argOption = (AbstractArgumentOption) callablesink92.getOptionManager().findByProperty("callableName");
    callablesink92.setCallableName(
            (adams.flow.core.CallableActorReference) argOption.valueOf("Attribute vs attribute"));
    actors82[2] = callablesink92;
    trigger80.setActors(actors82);

    actors62[4] = trigger80;
    trigger60.setActors(actors62);

    actors56[2] = trigger60;
    trigger54.setActors(actors56);

    actors2[8] = trigger54;
    actor.setActors(actors2);

    adams.flow.execution.NullListener nulllistener95 = new adams.flow.execution.NullListener();
    actor.setFlowExecutionListener(nulllistener95);

    return actor;
}