/** * * ModelWrapper for Morphline-GUI Projects * * Such a wrapper contains a MLPModel. * **/ package de.bitocean.mm; import net.sf.json.JSONException; import net.sf.json.JSONSerializer; import java.io.IOException; import java.io.PrintStream; import java.util.Vector; import javax.swing.JTextArea; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; /** * @author kamir */ public class MLPModelWrapper { public JTextArea jaLog = null; String basesFolder = null; RSyntaxTextArea editorMorphline; RSyntaxTextArea _editorSOLRSchema; RSyntaxTextArea _editorFlumeCFG; Vector<String> formulas = null; public MLPModelWrapper(LocalMorphlineStore s) { store = s; } public String load(String ML_Folder) throws IOException { return store.loadMorphline(ML_Folder); } // public void store(String ML_Folder, String code) throws IOException { // store.saveMorphline(ML_Folder, code); // } public LocalMorphlineStore store = null; void store() throws IOException { // store(basesFolder, editorMorphline.getText()); store.saveMorphline( basesFolder, editorMorphline.getText()); store.saveSchema( basesFolder, _editorSOLRSchema.getText()); store.saveFlumeCFG( basesFolder, _editorFlumeCFG.getText()); } void load() throws IOException { editorMorphline.setText(store.loadMorphline(basesFolder)); _editorSOLRSchema.setText(store.loadSolrSchema(basesFolder)); _editorFlumeCFG.setText(store.loadFlumeCFG(basesFolder)); } private static boolean isValidJson(String jsonStr) { boolean isValid = false; try { JSONSerializer.toJSON(jsonStr); isValid = true; } catch (JSONException je) { isValid = false; } return isValid; } void replaceSelection(String cap) { this.editorMorphline.replaceSelection(cap); } void initTemplate(String s) { this.editorMorphline.setText(s); } void setImageFolder(String name) { this.basesFolder = name; } String getSelection() { return editorMorphline.getSelectedText(); } // public void runFullMorphlineTest() throws Exception { TextAreaAsOutputStream out = new TextAreaAsOutputStream( this.jaLog , "$ " ); MLPModel m = new MLPModel(); m.setTestData(messages); m.setTestDataBytes(messagesBytes); System.out.println( "messages != null : " + (messages != null) ); System.out.println( "messagesBytes != null : " + (messagesBytes != null) ); m.runFullMorphlineTest( this.editorMorphline.getText() , new PrintStream( out ) ); } Vector<String> getTestDataFromFile() throws IOException { return this.store.loadTestData(basesFolder); } void validateMorphelineJSON() { System.out.println(isValidJson(editorMorphline.getText())); } Vector<String> messages = null; Vector<byte[]> messagesBytes = null; void setTestData(Vector<String> m) { messages = m; } void setTestDataBytes(Vector<byte[]> m) { messagesBytes = m; } String getMorphlineFileName() { return store.getFlumeCFGFilename(basesFolder).getAbsolutePath(); } }