You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/08/24 21:29:05 UTC
[27/32] airavata-sandbox git commit: adding datacat system
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/cup_flex/wavefunction.flex
----------------------------------------------------------------------
diff --git a/datacat/cup_flex/wavefunction.flex b/datacat/cup_flex/wavefunction.flex
new file mode 100644
index 0000000..57fbce7
--- /dev/null
+++ b/datacat/cup_flex/wavefunction.flex
@@ -0,0 +1,217 @@
+package org.gridchem.client;
+import java_cup.runtime.*;
+import java.io.*;
+import org.gridchem.client.common.*;
+import org.gridchem.client.util.*;
+
+
+
+%%
+
+%class WavefunctionLexer
+%public
+%unicode
+%cup
+%cupdebug
+%state ITER
+%state ITER1
+%state IGNOREALL
+%standalone
+%8bit
+
+/* ___________________________________________
+ Copied verbatim into generated lexer class:
+*/
+%{
+ public static boolean DEBUG = false;
+%}
+
+LineTerminator = \r|\n|\r\n
+InputCharacter = [^\r\n]
+WhiteSpace = {LineTerminator} | [ \t\f]
+Comment = {TraditionalComment} | {EndOfLineComment} | {DocumentationComment}
+TraditionalComment = "/*" [^*] ~"*/"
+EndOfLineComment = "//" {InputCharacter}* {LineTerminator}
+DocumentationComment = "/**" {CommentContent} "*"+ "/"
+CommentContent = ( [^*] | \*+ [^/*] )* /* adjust syntax font-coloring */
+Identifier = [:jletter:] [:jletterdigit:]*
+dec_int_lit = 0 | [1-9][0-9]*
+dec_int_id = [A-Za-z_][A-Za-z_0-9]*
+DIGIT = [0-9]
+FLOAT = [+|-]?{DIGIT}+"."{DIGIT}+
+INT = [+|-]?{DIGIT}+
+BOOL = [T|F]
+EQ = "="
+STRING = [A-Z]+
+GRAB = [^(" "|\r|\n|\r\n| \t\f)]+
+
+%%
+
+<YYINITIAL>{
+ "----------------------" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found Gaussian 98");
+ yybegin(ITER);
+ return new Symbol(WavefunctionSym.FOUNDITER);
+ }
+}
+
+<ITER> {
+ "geom" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "casscf" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+
+ "B3LYP" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+"B1B95" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+"B3PW91" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+
+ "RHF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found RHF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+
+ "ccsd" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found RHF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "SCFTYP=MCSCF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found SCFTYP=MCSCF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print("mcscf");
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "SCFTYP=GVB" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found SCFTYP=GVB");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print("gvb");
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "MP2" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found MP2");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "rhf" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found rhf");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "HF-SCF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found HF-SCF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream(Env.getApplicationDataDir() +Settings.fileSeparator + "runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+}
+
+
+
+<IGNOREALL>{
+ .|\n {}
+}
+
+.|\n {}
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/cup_flex/wavefunction1.flex
----------------------------------------------------------------------
diff --git a/datacat/cup_flex/wavefunction1.flex b/datacat/cup_flex/wavefunction1.flex
new file mode 100644
index 0000000..d630469
--- /dev/null
+++ b/datacat/cup_flex/wavefunction1.flex
@@ -0,0 +1,187 @@
+import java_cup.runtime.*;
+import java.io.*;
+
+%%
+
+%class Wavefunction1Lexer
+%public
+%unicode
+%cup
+%cupdebug
+%state ITER
+%state ITER1
+%state IGNOREALL
+%standalone
+%8bit
+
+/* ___________________________________________
+ Copied verbatim into generated lexer class:
+*/
+%{
+ public static boolean DEBUG = false;
+%}
+
+LineTerminator = \r|\n|\r\n
+InputCharacter = [^\r\n]
+WhiteSpace = {LineTerminator} | [ \t\f]
+Comment = {TraditionalComment} | {EndOfLineComment} | {DocumentationComment}
+TraditionalComment = "/*" [^*] ~"*/"
+EndOfLineComment = "//" {InputCharacter}* {LineTerminator}
+DocumentationComment = "/**" {CommentContent} "*"+ "/"
+CommentContent = ( [^*] | \*+ [^/*] )* /* adjust syntax font-coloring */
+Identifier = [:jletter:] [:jletterdigit:]*
+dec_int_lit = 0 | [1-9][0-9]*
+dec_int_id = [A-Za-z_][A-Za-z_0-9]*
+DIGIT = [0-9]
+FLOAT = [+|-]?{DIGIT}+"."{DIGIT}+
+INT = [+|-]?{DIGIT}+
+BOOL = [T|F]
+EQ = "="
+STRING = [A-Z]+
+GRAB = [^(" "|\r|\n|\r\n| \t\f)]+
+
+%%
+
+<YYINITIAL>{
+ "************" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found Gaussian 98");
+ yybegin(ITER);
+ return new Symbol(WavefunctionSym.FOUNDITER);
+ }
+}
+
+<ITER> {
+ "geom" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "casscf" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+
+ "b3lyp" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found geom ");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "RHF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found RHF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+
+ "SCF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found RHF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "SCFTYP=MCSCF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found SCFTYP=MCSCF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print("mcscf");
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "SCFTYP=GVB" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found SCFTYP=GVB");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print("gvb");
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "MP2" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found MP2");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "rhf" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found rhf");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+ "HF-SCF" {
+ if (Settings.DEBUG) System.out.println("WavefunctionFlex: Found HF-SCF");
+ if (Settings.DEBUG) System.out.println(yytext());
+ try{
+ PrintStream temp = new PrintStream(new FileOutputStream("runtype2"));
+ temp.print(yytext());
+ System.out.println(yytext());}
+ catch (IOException ie){ System.out.println("Error in Gaussian Lexer");}
+ yybegin(IGNOREALL);
+ return new Symbol(WavefunctionSym.RUNTYP);
+ }
+
+}
+
+
+
+<IGNOREALL>{
+ .|\n {}
+}
+
+.|\n {}
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/cup_flex/whichProgram.cup
----------------------------------------------------------------------
diff --git a/datacat/cup_flex/whichProgram.cup b/datacat/cup_flex/whichProgram.cup
new file mode 100644
index 0000000..a15676d
--- /dev/null
+++ b/datacat/cup_flex/whichProgram.cup
@@ -0,0 +1,116 @@
+import java_cup.runtime.*;
+import javax.swing.*;
+import java.util.*;
+import java.io.*;
+
+
+
+/*
+OUTPUT FORMAT:____________________________________________________________
+1NSERCH= 0
+ more text
+ SCF Done: E(RHF) = -7.85284496695 A.U. after 8 cycles
+ more text
+ Maximum Force 0.000000 0.000450 YES
+ RMS Force 0.000000 0.000300 YES
+ more text
+TO MONITOR:____________________________________________________________
+ iteration, energy
+
+MANUALLY ADD TO CUP-GENERATED CLASS IN SCFaParser.java:________________
+
+
+//add to CUP$SCFaParser$actions
+public ParseSCF2 parseSCF;
+
+//add to the constructor of CUP$SCFaParser$actions
+ parseSCF = new ParseSCF2();
+
+*/
+
+action code {:
+ //__________________________________
+ public static boolean DEBUG = true;
+ private static JTable table;
+ private static final String tableLabel = "SCF Intermediate Results:";
+// private static String cycle = "0";
+
+
+ public static JTable getTable() {
+ return table;
+ }
+
+ public static String getTableLabel() {
+ return tableLabel;
+ }
+
+// }
+:}
+
+
+
+
+terminal FOUNDITER, SCFDONE, NSearch, Energ, MaxGrad, RmsGrad;
+terminal Integer ITERATION;
+terminal Float ENERGY, MGRAD, RGRAD;
+non terminal startpt, scfintro, scfpat, scfcycle, cycle, grad1, grad2;
+
+
+
+
+/* ___________
+ The grammer */
+
+startpt ::= scfintro
+ scfpat
+ SCFDONE
+ {: if (DEBUG) System.out.println("CUP:gopt: end of parse tree ");
+ table = new JTable();
+
+// table = parseSCF.getTable();
+ :}
+ ;
+
+
+
+
+scfintro ::=
+ FOUNDITER
+ {: if (DEBUG) System.out.println("CUP:gopt: found the start of Iteration"); :}
+;
+
+scfpat ::= scfpat scfcycle
+ {: if (DEBUG) System.out.println("CUP:gopt: in scfpat"); :}
+ |
+ scfcycle
+;
+
+scfcycle ::= Energ ENERGY:e
+{: //___________________________________________________________________
+ if (DEBUG) System.out.println("CUP:gopt: ENERGY "+e);
+ :}
+cycle
+;
+
+
+
+
+cycle ::= NSearch ITERATION:c
+{: //___________________________________________________________________
+ if (DEBUG) System.out.println("CUP:gopt: ITERATION "+c);
+ :}
+grad1
+grad2
+ ;
+
+grad1 ::= MaxGrad MGRAD:mg
+{: //___________________________________________________________________
+ if (DEBUG) System.out.println("CUP:gopt: Maximum Force "+mg);
+ :}
+;
+
+grad2 ::= RmsGrad RGRAD:rg
+{: //___________________________________________________________________
+ if (DEBUG) System.out.println("CUP:gopt: RMS Force "+rg);
+ :}
+;
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/cup_flex/whichProgram.flex
----------------------------------------------------------------------
diff --git a/datacat/cup_flex/whichProgram.flex b/datacat/cup_flex/whichProgram.flex
new file mode 100644
index 0000000..a78764e
--- /dev/null
+++ b/datacat/cup_flex/whichProgram.flex
@@ -0,0 +1,78 @@
+
+
+
+%%
+
+
+
+%class WhichProgram
+%public
+%unicode
+/*
+%cup
+%cupdebug
+%ignorecase
+*/
+
+%state GETREVISION
+%state GETVERSION
+%state IGNOREALL
+
+%standalone
+%8bit
+
+%{
+ public static boolean DEBUG = false;
+ public static String format;
+%}
+
+WORD = [A-Za-z]+
+INT = [+|-]?[0-9]+
+REVISIONNUM = [A-Za-z0-9"."]+
+
+
+
+%%
+
+
+
+/* ___________
+ Description */
+
+<YYINITIAL>{
+ "Gaussian 03," {if (Settings.DEBUG) System.out.println(yytext());
+ WhichProgram.format = "Gauss03";
+ }
+ "GAMESS VERSION =" {if (Settings.DEBUG) System.out.println(yytext());
+ WhichProgram.format = "GAMESS";
+ yybegin(GETVERSION);
+ }
+
+ "PROGRAM SYSTEM MOLPRO" {System.out.println(yytext());
+ WhichProgram.format = "Molpro";
+ yybegin(IGNOREALL);
+ }
+
+
+
+ .|\n {}
+}
+
+<GETREVISION>{
+ {REVISIONNUM} {if (Settings.DEBUG) System.out.println(yytext());
+ yybegin(IGNOREALL);
+ }
+}
+
+<GETVERSION>{
+ [0-9]{4} {if (Settings.DEBUG) System.out.println(yytext());
+ yybegin(IGNOREALL);
+ }
+}
+
+<IGNOREALL>{
+ .|\n {}
+}
+
+.|\n {}
+
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/inchi-1
----------------------------------------------------------------------
diff --git a/datacat/inchi-1 b/datacat/inchi-1
new file mode 100755
index 0000000..fa054fe
Binary files /dev/null and b/datacat/inchi-1 differ
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/datacat/integration-tests/pom.xml b/datacat/integration-tests/pom.xml
new file mode 100644
index 0000000..2e7b595
--- /dev/null
+++ b/datacat/integration-tests/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>datacat</artifactId>
+ <groupId>org.apache.airavata.datacat</groupId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>integration-tests</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.airavata.datacat</groupId>
+ <artifactId>models</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata.datacat</groupId>
+ <artifactId>server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata.datacat</groupId>
+ <artifactId>agent</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/integration-tests/src/test/java/org/apache/airavata/datacat/integration/IntegrationTest.java
----------------------------------------------------------------------
diff --git a/datacat/integration-tests/src/test/java/org/apache/airavata/datacat/integration/IntegrationTest.java b/datacat/integration-tests/src/test/java/org/apache/airavata/datacat/integration/IntegrationTest.java
new file mode 100644
index 0000000..0ac901b
--- /dev/null
+++ b/datacat/integration-tests/src/test/java/org/apache/airavata/datacat/integration/IntegrationTest.java
@@ -0,0 +1,154 @@
+/*
+*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*
+*/
+package org.apache.airavata.datacat.integration;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import org.apache.airavata.datacat.agent.dispatcher.DispatcherService;
+import org.apache.airavata.datacat.agent.monitor.IMonitor;
+import org.apache.airavata.datacat.agent.monitor.impl.LocalFileSystemMonitor;
+import org.apache.airavata.datacat.agent.util.AgentProperties;
+import org.apache.airavata.datacat.models.PrimaryQueryParameter;
+import org.apache.airavata.datacat.models.PrimaryQueryType;
+import org.apache.airavata.datacat.server.db.solr.SolrClientFactory;
+import org.apache.airavata.datacat.server.db.solr.SolrQuerier;
+import org.apache.airavata.datacat.server.services.DataCatService;
+import org.apache.airavata.datacat.server.services.PublisherService;
+import org.apache.airavata.datacat.server.util.Constants;
+import org.apache.airavata.datacat.server.util.ServerProperties;
+import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+
+import javax.ws.rs.core.UriBuilder;
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+public class IntegrationTest extends TestCase {
+
+ public void testSimpleIntegration() throws IOException, ClassNotFoundException, InterruptedException, SolrServerException {
+ //deleting file snapshot file
+ File file = new File("snapshot.ser");
+ file.delete();
+ System.out.println("snapshot.ser file deleted.");
+
+ //Deleting Solr index files
+ SolrServer metadataClient = new SolrClientFactory().createSolrMetadataClient();
+ metadataClient.deleteByQuery("*:*");
+ metadataClient.commit();
+ SolrServer aclClient = new SolrClientFactory().createSolrAclClient();
+ aclClient.deleteByQuery("*:*");
+ aclClient.commit();
+ System.out.println("Deleted existing data in Solr");
+
+ //starting DataCat server
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ URI datacatUri = UriBuilder.fromUri(
+ ServerProperties.getInstance().getProperty(Constants.DATACAT_URI, "")).build();
+ ResourceConfig datacatConfig = new ResourceConfig(DataCatService.class);
+ HttpServer datacatServer = GrizzlyHttpServerFactory.createHttpServer(datacatUri, datacatConfig);
+
+ datacatServer.start();
+
+ URI publisherUri = UriBuilder.fromUri(
+ ServerProperties.getInstance().getProperty(Constants.PUBLISHER_URI, "")).build();
+ ResourceConfig publisherConfig = new ResourceConfig(PublisherService.class);
+ HttpServer publisherServer = GrizzlyHttpServerFactory.createHttpServer(publisherUri, publisherConfig);
+
+ publisherServer.start();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ Assert.assertTrue(false);
+ }
+ }
+ }).start();
+
+
+ //starting DataCat agent
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ //waiting for some time to get the data indexed
+ Thread.sleep(1000 * 15); // waits for 15 seconds
+ AgentProperties properties = AgentProperties.getInstance();
+ IMonitor iMonitor = new LocalFileSystemMonitor();
+ DispatcherService dispatcherService = DispatcherService.getInstance();
+ dispatcherService.startDispatcher();
+ iMonitor.startMonitor(Paths.get(properties.getProperty(
+ org.apache.airavata.datacat.agent.util.Constants.DATA_ROOT, ""))
+ );
+
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ Assert.assertTrue(false);
+ }
+ }
+ }).start();
+
+
+ //Testing the Query API
+ //waiting for some time to get the data indexed
+ Thread.sleep(1000 * 300); // waits for 30 seconds
+
+ //FIXME Ideally this querying should be done via the REST API
+ //Querying using the DataCat API
+ List<PrimaryQueryParameter> primaryQueryParameters;
+ PrimaryQueryParameter parameter;
+ ArrayList<LinkedHashMap<String, Object>> result;
+ SolrQuerier solrQuerier = new SolrQuerier();
+
+ String username = "test";
+ String[] groups = new String[]{"group_1", "group_2", "sudhakar"};
+
+ String primaryKey = ServerProperties.getInstance().getProperty(Constants.METADATA_PRIMARY_INDEX, "InChi");
+
+ //Field value search
+ primaryQueryParameters = new ArrayList<PrimaryQueryParameter>();
+ parameter = new PrimaryQueryParameter();
+ parameter.setField(primaryKey);
+ parameter.setFirstParameter("InChI=1S/C14H14N4O3/c1-7-5-9-10(6-8(7)2)18(3-4-19)12-11(15-9)13(20)17-14(21)16-12/h5-6,19H,3-4H2,1-2H3,(H,17,20,21)");
+ parameter.setPrimaryQueryType(PrimaryQueryType.EQUALS);
+ primaryQueryParameters.add(parameter);
+ result = solrQuerier.getResultsFromParameters(primaryQueryParameters, username, groups, 1, 2);
+ Assert.assertTrue(result.size() >= 1);
+
+ //Sub string search
+ primaryQueryParameters = new ArrayList<PrimaryQueryParameter>();
+ parameter = new PrimaryQueryParameter();
+ parameter.setField(primaryKey);
+ parameter.setFirstParameter("C14H14N4");
+ parameter.setPrimaryQueryType(PrimaryQueryType.SUBSTRING);
+ primaryQueryParameters.add(parameter);
+ result = solrQuerier.getResultsFromParameters(primaryQueryParameters, username, groups, 1, 5);
+ Assert.assertTrue(result.size() >= 1);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/laravel-pga/vendor/apache/thrift
----------------------------------------------------------------------
diff --git a/datacat/laravel-pga/vendor/apache/thrift b/datacat/laravel-pga/vendor/apache/thrift
new file mode 160000
index 0000000..e758837
--- /dev/null
+++ b/datacat/laravel-pga/vendor/apache/thrift
@@ -0,0 +1 @@
+Subproject commit e758837339c16726b7c3198e9646466fc25519f3
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/pom.xml
----------------------------------------------------------------------
diff --git a/datacat/models/pom.xml b/datacat/models/pom.xml
new file mode 100644
index 0000000..e843c43
--- /dev/null
+++ b/datacat/models/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>datacat</artifactId>
+ <groupId>org.apache.airavata.datacat</groupId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>models</artifactId>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ <compilerArgument>-Xlint:unchecked</compilerArgument>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <dependencies>
+ <!-- RabbitMQ dependencies - For the message-Broker -->
+ <dependency>
+ <groupId>com.rabbitmq</groupId>
+ <artifactId>amqp-client</artifactId>
+ <version>${rabbitmq.version}</version>
+ </dependency>
+
+ <!-- Thrift dependency -->
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>${thrift.version}</version>
+ </dependency>
+
+ </dependencies>
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclDTO.java
----------------------------------------------------------------------
diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclDTO.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclDTO.java
new file mode 100644
index 0000000..c86aebc
--- /dev/null
+++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclDTO.java
@@ -0,0 +1,53 @@
+/*
+*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*
+*/
+package org.apache.airavata.datacat.models;
+
+public class AclDTO {
+ private String id;
+
+ private String[] acl;
+
+ private String _version_;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String[] getAcl() {
+ return acl;
+ }
+
+ public void setAcl(String[] acl) {
+ this.acl = acl;
+ }
+
+ public String get_version_() {
+ return _version_;
+ }
+
+ public void set_version_(String _version_) {
+ this._version_ = _version_;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclFields.java
----------------------------------------------------------------------
diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclFields.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclFields.java
new file mode 100644
index 0000000..a428f31
--- /dev/null
+++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/AclFields.java
@@ -0,0 +1,27 @@
+/*
+*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*
+*/
+package org.apache.airavata.datacat.models;
+
+public class AclFields {
+
+ public static final String ID = "id";
+ public static final String ACL = "acl";
+}
http://git-wip-us.apache.org/repos/asf/airavata-sandbox/blob/4231ac35/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputCreatedEvent.java
----------------------------------------------------------------------
diff --git a/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputCreatedEvent.java b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputCreatedEvent.java
new file mode 100644
index 0000000..92b9ab1
--- /dev/null
+++ b/datacat/models/src/main/java/org/apache/airavata/datacat/models/Messaging/ExperimentOutputCreatedEvent.java
@@ -0,0 +1,981 @@
+/**
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.datacat.models.Messaging;
+
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+import org.apache.thrift.scheme.TupleScheme;
+
+import javax.annotation.Generated;
+import java.util.*;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)", date = "2015-2-3")
+public class ExperimentOutputCreatedEvent implements org.apache.thrift.TBase<ExperimentOutputCreatedEvent, ExperimentOutputCreatedEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentOutputCreatedEvent> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentOutputCreatedEvent");
+
+ private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField OUTPUT_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("outputPath", org.apache.thrift.protocol.TType.STRING, (short)3);
+ private static final org.apache.thrift.protocol.TField OWNER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerId", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField GATEWAY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayName", org.apache.thrift.protocol.TType.STRING, (short)5);
+ private static final org.apache.thrift.protocol.TField APPLICATION_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationName", org.apache.thrift.protocol.TType.STRING, (short)6);
+ private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)7);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ExperimentOutputCreatedEventStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ExperimentOutputCreatedEventTupleSchemeFactory());
+ }
+
+ public String experimentId; // required
+ public String experimentName; // required
+ public String outputPath; // required
+ public String ownerId; // required
+ public String gatewayName; // required
+ public String applicationName; // required
+ public String host; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ EXPERIMENT_ID((short)1, "experimentId"),
+ EXPERIMENT_NAME((short)2, "experimentName"),
+ OUTPUT_PATH((short)3, "outputPath"),
+ OWNER_ID((short)4, "ownerId"),
+ GATEWAY_NAME((short)5, "gatewayName"),
+ APPLICATION_NAME((short)6, "applicationName"),
+ HOST((short)7, "host");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // EXPERIMENT_ID
+ return EXPERIMENT_ID;
+ case 2: // EXPERIMENT_NAME
+ return EXPERIMENT_NAME;
+ case 3: // OUTPUT_PATH
+ return OUTPUT_PATH;
+ case 4: // OWNER_ID
+ return OWNER_ID;
+ case 5: // GATEWAY_NAME
+ return GATEWAY_NAME;
+ case 6: // APPLICATION_NAME
+ return APPLICATION_NAME;
+ case 7: // HOST
+ return HOST;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("experimentName", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.OUTPUT_PATH, new org.apache.thrift.meta_data.FieldMetaData("outputPath", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.OWNER_ID, new org.apache.thrift.meta_data.FieldMetaData("ownerId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.GATEWAY_NAME, new org.apache.thrift.meta_data.FieldMetaData("gatewayName", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.APPLICATION_NAME, new org.apache.thrift.meta_data.FieldMetaData("applicationName", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentOutputCreatedEvent.class, metaDataMap);
+ }
+
+ public ExperimentOutputCreatedEvent() {
+ }
+
+ public ExperimentOutputCreatedEvent(
+ String experimentId,
+ String experimentName,
+ String outputPath,
+ String ownerId,
+ String gatewayName,
+ String applicationName,
+ String host)
+ {
+ this();
+ this.experimentId = experimentId;
+ this.experimentName = experimentName;
+ this.outputPath = outputPath;
+ this.ownerId = ownerId;
+ this.gatewayName = gatewayName;
+ this.applicationName = applicationName;
+ this.host = host;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ExperimentOutputCreatedEvent(ExperimentOutputCreatedEvent other) {
+ if (other.isSetExperimentId()) {
+ this.experimentId = other.experimentId;
+ }
+ if (other.isSetExperimentName()) {
+ this.experimentName = other.experimentName;
+ }
+ if (other.isSetOutputPath()) {
+ this.outputPath = other.outputPath;
+ }
+ if (other.isSetOwnerId()) {
+ this.ownerId = other.ownerId;
+ }
+ if (other.isSetGatewayName()) {
+ this.gatewayName = other.gatewayName;
+ }
+ if (other.isSetApplicationName()) {
+ this.applicationName = other.applicationName;
+ }
+ if (other.isSetHost()) {
+ this.host = other.host;
+ }
+ }
+
+ public ExperimentOutputCreatedEvent deepCopy() {
+ return new ExperimentOutputCreatedEvent(this);
+ }
+
+ @Override
+ public void clear() {
+ this.experimentId = null;
+ this.experimentName = null;
+ this.outputPath = null;
+ this.ownerId = null;
+ this.gatewayName = null;
+ this.applicationName = null;
+ this.host = null;
+ }
+
+ public String getExperimentId() {
+ return this.experimentId;
+ }
+
+ public ExperimentOutputCreatedEvent setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
+ return this;
+ }
+
+ public void unsetExperimentId() {
+ this.experimentId = null;
+ }
+
+ /** Returns true if field experimentId is set (has been assigned a value) and false otherwise */
+ public boolean isSetExperimentId() {
+ return this.experimentId != null;
+ }
+
+ public void setExperimentIdIsSet(boolean value) {
+ if (!value) {
+ this.experimentId = null;
+ }
+ }
+
+ public String getExperimentName() {
+ return this.experimentName;
+ }
+
+ public ExperimentOutputCreatedEvent setExperimentName(String experimentName) {
+ this.experimentName = experimentName;
+ return this;
+ }
+
+ public void unsetExperimentName() {
+ this.experimentName = null;
+ }
+
+ /** Returns true if field experimentName is set (has been assigned a value) and false otherwise */
+ public boolean isSetExperimentName() {
+ return this.experimentName != null;
+ }
+
+ public void setExperimentNameIsSet(boolean value) {
+ if (!value) {
+ this.experimentName = null;
+ }
+ }
+
+ public String getOutputPath() {
+ return this.outputPath;
+ }
+
+ public ExperimentOutputCreatedEvent setOutputPath(String outputPath) {
+ this.outputPath = outputPath;
+ return this;
+ }
+
+ public void unsetOutputPath() {
+ this.outputPath = null;
+ }
+
+ /** Returns true if field outputPath is set (has been assigned a value) and false otherwise */
+ public boolean isSetOutputPath() {
+ return this.outputPath != null;
+ }
+
+ public void setOutputPathIsSet(boolean value) {
+ if (!value) {
+ this.outputPath = null;
+ }
+ }
+
+ public String getOwnerId() {
+ return this.ownerId;
+ }
+
+ public ExperimentOutputCreatedEvent setOwnerId(String ownerId) {
+ this.ownerId = ownerId;
+ return this;
+ }
+
+ public void unsetOwnerId() {
+ this.ownerId = null;
+ }
+
+ /** Returns true if field ownerId is set (has been assigned a value) and false otherwise */
+ public boolean isSetOwnerId() {
+ return this.ownerId != null;
+ }
+
+ public void setOwnerIdIsSet(boolean value) {
+ if (!value) {
+ this.ownerId = null;
+ }
+ }
+
+ public String getGatewayName() {
+ return this.gatewayName;
+ }
+
+ public ExperimentOutputCreatedEvent setGatewayName(String gatewayName) {
+ this.gatewayName = gatewayName;
+ return this;
+ }
+
+ public void unsetGatewayName() {
+ this.gatewayName = null;
+ }
+
+ /** Returns true if field gatewayName is set (has been assigned a value) and false otherwise */
+ public boolean isSetGatewayName() {
+ return this.gatewayName != null;
+ }
+
+ public void setGatewayNameIsSet(boolean value) {
+ if (!value) {
+ this.gatewayName = null;
+ }
+ }
+
+ public String getApplicationName() {
+ return this.applicationName;
+ }
+
+ public ExperimentOutputCreatedEvent setApplicationName(String applicationName) {
+ this.applicationName = applicationName;
+ return this;
+ }
+
+ public void unsetApplicationName() {
+ this.applicationName = null;
+ }
+
+ /** Returns true if field applicationName is set (has been assigned a value) and false otherwise */
+ public boolean isSetApplicationName() {
+ return this.applicationName != null;
+ }
+
+ public void setApplicationNameIsSet(boolean value) {
+ if (!value) {
+ this.applicationName = null;
+ }
+ }
+
+ public String getHost() {
+ return this.host;
+ }
+
+ public ExperimentOutputCreatedEvent setHost(String host) {
+ this.host = host;
+ return this;
+ }
+
+ public void unsetHost() {
+ this.host = null;
+ }
+
+ /** Returns true if field host is set (has been assigned a value) and false otherwise */
+ public boolean isSetHost() {
+ return this.host != null;
+ }
+
+ public void setHostIsSet(boolean value) {
+ if (!value) {
+ this.host = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case EXPERIMENT_ID:
+ if (value == null) {
+ unsetExperimentId();
+ } else {
+ setExperimentId((String)value);
+ }
+ break;
+
+ case EXPERIMENT_NAME:
+ if (value == null) {
+ unsetExperimentName();
+ } else {
+ setExperimentName((String)value);
+ }
+ break;
+
+ case OUTPUT_PATH:
+ if (value == null) {
+ unsetOutputPath();
+ } else {
+ setOutputPath((String)value);
+ }
+ break;
+
+ case OWNER_ID:
+ if (value == null) {
+ unsetOwnerId();
+ } else {
+ setOwnerId((String)value);
+ }
+ break;
+
+ case GATEWAY_NAME:
+ if (value == null) {
+ unsetGatewayName();
+ } else {
+ setGatewayName((String)value);
+ }
+ break;
+
+ case APPLICATION_NAME:
+ if (value == null) {
+ unsetApplicationName();
+ } else {
+ setApplicationName((String)value);
+ }
+ break;
+
+ case HOST:
+ if (value == null) {
+ unsetHost();
+ } else {
+ setHost((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case EXPERIMENT_ID:
+ return getExperimentId();
+
+ case EXPERIMENT_NAME:
+ return getExperimentName();
+
+ case OUTPUT_PATH:
+ return getOutputPath();
+
+ case OWNER_ID:
+ return getOwnerId();
+
+ case GATEWAY_NAME:
+ return getGatewayName();
+
+ case APPLICATION_NAME:
+ return getApplicationName();
+
+ case HOST:
+ return getHost();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case EXPERIMENT_ID:
+ return isSetExperimentId();
+ case EXPERIMENT_NAME:
+ return isSetExperimentName();
+ case OUTPUT_PATH:
+ return isSetOutputPath();
+ case OWNER_ID:
+ return isSetOwnerId();
+ case GATEWAY_NAME:
+ return isSetGatewayName();
+ case APPLICATION_NAME:
+ return isSetApplicationName();
+ case HOST:
+ return isSetHost();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ExperimentOutputCreatedEvent)
+ return this.equals((ExperimentOutputCreatedEvent)that);
+ return false;
+ }
+
+ public boolean equals(ExperimentOutputCreatedEvent that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_experimentId = true && this.isSetExperimentId();
+ boolean that_present_experimentId = true && that.isSetExperimentId();
+ if (this_present_experimentId || that_present_experimentId) {
+ if (!(this_present_experimentId && that_present_experimentId))
+ return false;
+ if (!this.experimentId.equals(that.experimentId))
+ return false;
+ }
+
+ boolean this_present_experimentName = true && this.isSetExperimentName();
+ boolean that_present_experimentName = true && that.isSetExperimentName();
+ if (this_present_experimentName || that_present_experimentName) {
+ if (!(this_present_experimentName && that_present_experimentName))
+ return false;
+ if (!this.experimentName.equals(that.experimentName))
+ return false;
+ }
+
+ boolean this_present_outputPath = true && this.isSetOutputPath();
+ boolean that_present_outputPath = true && that.isSetOutputPath();
+ if (this_present_outputPath || that_present_outputPath) {
+ if (!(this_present_outputPath && that_present_outputPath))
+ return false;
+ if (!this.outputPath.equals(that.outputPath))
+ return false;
+ }
+
+ boolean this_present_ownerId = true && this.isSetOwnerId();
+ boolean that_present_ownerId = true && that.isSetOwnerId();
+ if (this_present_ownerId || that_present_ownerId) {
+ if (!(this_present_ownerId && that_present_ownerId))
+ return false;
+ if (!this.ownerId.equals(that.ownerId))
+ return false;
+ }
+
+ boolean this_present_gatewayName = true && this.isSetGatewayName();
+ boolean that_present_gatewayName = true && that.isSetGatewayName();
+ if (this_present_gatewayName || that_present_gatewayName) {
+ if (!(this_present_gatewayName && that_present_gatewayName))
+ return false;
+ if (!this.gatewayName.equals(that.gatewayName))
+ return false;
+ }
+
+ boolean this_present_applicationName = true && this.isSetApplicationName();
+ boolean that_present_applicationName = true && that.isSetApplicationName();
+ if (this_present_applicationName || that_present_applicationName) {
+ if (!(this_present_applicationName && that_present_applicationName))
+ return false;
+ if (!this.applicationName.equals(that.applicationName))
+ return false;
+ }
+
+ boolean this_present_host = true && this.isSetHost();
+ boolean that_present_host = true && that.isSetHost();
+ if (this_present_host || that_present_host) {
+ if (!(this_present_host && that_present_host))
+ return false;
+ if (!this.host.equals(that.host))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_experimentId = true && (isSetExperimentId());
+ list.add(present_experimentId);
+ if (present_experimentId)
+ list.add(experimentId);
+
+ boolean present_experimentName = true && (isSetExperimentName());
+ list.add(present_experimentName);
+ if (present_experimentName)
+ list.add(experimentName);
+
+ boolean present_outputPath = true && (isSetOutputPath());
+ list.add(present_outputPath);
+ if (present_outputPath)
+ list.add(outputPath);
+
+ boolean present_ownerId = true && (isSetOwnerId());
+ list.add(present_ownerId);
+ if (present_ownerId)
+ list.add(ownerId);
+
+ boolean present_gatewayName = true && (isSetGatewayName());
+ list.add(present_gatewayName);
+ if (present_gatewayName)
+ list.add(gatewayName);
+
+ boolean present_applicationName = true && (isSetApplicationName());
+ list.add(present_applicationName);
+ if (present_applicationName)
+ list.add(applicationName);
+
+ boolean present_host = true && (isSetHost());
+ list.add(present_host);
+ if (present_host)
+ list.add(host);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(ExperimentOutputCreatedEvent other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetExperimentId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentId, other.experimentId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetExperimentName()).compareTo(other.isSetExperimentName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetExperimentName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentName, other.experimentName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetOutputPath()).compareTo(other.isSetOutputPath());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetOutputPath()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputPath, other.outputPath);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetOwnerId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ownerId, other.ownerId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetGatewayName()).compareTo(other.isSetGatewayName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetGatewayName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayName, other.gatewayName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetApplicationName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationName, other.applicationName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetHost()).compareTo(other.isSetHost());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetHost()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ExperimentOutputCreatedEvent(");
+ boolean first = true;
+
+ sb.append("experimentId:");
+ if (this.experimentId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.experimentId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("experimentName:");
+ if (this.experimentName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.experimentName);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("outputPath:");
+ if (this.outputPath == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.outputPath);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("ownerId:");
+ if (this.ownerId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.ownerId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("gatewayName:");
+ if (this.gatewayName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.gatewayName);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("applicationName:");
+ if (this.applicationName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.applicationName);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("host:");
+ if (this.host == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.host);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws TException {
+ // check for required fields
+ if (experimentId == null) {
+ throw new TProtocolException("Required field 'experimentId' was not present! Struct: " + toString());
+ }
+ if (experimentName == null) {
+ throw new TProtocolException("Required field 'experimentName' was not present! Struct: " + toString());
+ }
+ if (outputPath == null) {
+ throw new TProtocolException("Required field 'outputPath' was not present! Struct: " + toString());
+ }
+ if (ownerId == null) {
+ throw new TProtocolException("Required field 'ownerId' was not present! Struct: " + toString());
+ }
+ if (gatewayName == null) {
+ throw new TProtocolException("Required field 'gatewayName' was not present! Struct: " + toString());
+ }
+ if (applicationName == null) {
+ throw new TProtocolException("Required field 'applicationName' was not present! Struct: " + toString());
+ }
+ if (host == null) {
+ throw new TProtocolException("Required field 'host' was not present! Struct: " + toString());
+ }
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ExperimentOutputCreatedEventStandardSchemeFactory implements SchemeFactory {
+ public ExperimentOutputCreatedEventStandardScheme getScheme() {
+ return new ExperimentOutputCreatedEventStandardScheme();
+ }
+ }
+
+ private static class ExperimentOutputCreatedEventStandardScheme extends StandardScheme<ExperimentOutputCreatedEvent> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentOutputCreatedEvent struct) throws TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // EXPERIMENT_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.experimentId = iprot.readString();
+ struct.setExperimentIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // EXPERIMENT_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.experimentName = iprot.readString();
+ struct.setExperimentNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // OUTPUT_PATH
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.outputPath = iprot.readString();
+ struct.setOutputPathIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // OWNER_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.ownerId = iprot.readString();
+ struct.setOwnerIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // GATEWAY_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.gatewayName = iprot.readString();
+ struct.setGatewayNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 6: // APPLICATION_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.applicationName = iprot.readString();
+ struct.setApplicationNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 7: // HOST
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.host = iprot.readString();
+ struct.setHostIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentOutputCreatedEvent struct) throws TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.experimentId != null) {
+ oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
+ oprot.writeString(struct.experimentId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.experimentName != null) {
+ oprot.writeFieldBegin(EXPERIMENT_NAME_FIELD_DESC);
+ oprot.writeString(struct.experimentName);
+ oprot.writeFieldEnd();
+ }
+ if (struct.outputPath != null) {
+ oprot.writeFieldBegin(OUTPUT_PATH_FIELD_DESC);
+ oprot.writeString(struct.outputPath);
+ oprot.writeFieldEnd();
+ }
+ if (struct.ownerId != null) {
+ oprot.writeFieldBegin(OWNER_ID_FIELD_DESC);
+ oprot.writeString(struct.ownerId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.gatewayName != null) {
+ oprot.writeFieldBegin(GATEWAY_NAME_FIELD_DESC);
+ oprot.writeString(struct.gatewayName);
+ oprot.writeFieldEnd();
+ }
+ if (struct.applicationName != null) {
+ oprot.writeFieldBegin(APPLICATION_NAME_FIELD_DESC);
+ oprot.writeString(struct.applicationName);
+ oprot.writeFieldEnd();
+ }
+ if (struct.host != null) {
+ oprot.writeFieldBegin(HOST_FIELD_DESC);
+ oprot.writeString(struct.host);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ExperimentOutputCreatedEventTupleSchemeFactory implements SchemeFactory {
+ public ExperimentOutputCreatedEventTupleScheme getScheme() {
+ return new ExperimentOutputCreatedEventTupleScheme();
+ }
+ }
+
+ private static class ExperimentOutputCreatedEventTupleScheme extends TupleScheme<ExperimentOutputCreatedEvent> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentOutputCreatedEvent struct) throws TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.experimentId);
+ oprot.writeString(struct.experimentName);
+ oprot.writeString(struct.outputPath);
+ oprot.writeString(struct.ownerId);
+ oprot.writeString(struct.gatewayName);
+ oprot.writeString(struct.applicationName);
+ oprot.writeString(struct.host);
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ExperimentOutputCreatedEvent struct) throws TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.experimentId = iprot.readString();
+ struct.setExperimentIdIsSet(true);
+ struct.experimentName = iprot.readString();
+ struct.setExperimentNameIsSet(true);
+ struct.outputPath = iprot.readString();
+ struct.setOutputPathIsSet(true);
+ struct.ownerId = iprot.readString();
+ struct.setOwnerIdIsSet(true);
+ struct.gatewayName = iprot.readString();
+ struct.setGatewayNameIsSet(true);
+ struct.applicationName = iprot.readString();
+ struct.setApplicationNameIsSet(true);
+ struct.host = iprot.readString();
+ struct.setHostIsSet(true);
+ }
+ }
+
+}
+