List of usage examples for weka.filters.unsupervised.instance RemoveRange setOptions
@Override public void setOptions(String[] options) throws Exception
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; }