You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2018/10/30 03:00:07 UTC

[airavata] branch develop updated: Creating parser entities

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/develop by this push:
     new fb37531  Creating parser entities
fb37531 is described below

commit fb375317c55099b3759355084887b57e25cd8f4a
Author: Dimuthu Wannipurage <di...@datasprouts.com>
AuthorDate: Mon Oct 29 22:59:55 2018 -0400

    Creating parser entities
---
 .../appcatalog/ParserDagElementEntity.java         | 123 +++++++++++++++++++++
 .../ParserDagInputOutputMappingEntity.java         | 110 ++++++++++++++++++
 .../core/entities/appcatalog/ParserInfoEntity.java | 110 ++++++++++++++++++
 .../entities/appcatalog/ParserInputEntity.java     |  87 +++++++++++++++
 .../entities/appcatalog/ParserOutputEntity.java    |  86 ++++++++++++++
 .../entities/appcatalog/ParsingTemplateEntity.java |  77 +++++++++++++
 .../appcatalog/ParsingTemplateInputEntity.java     |  50 +++++++++
 7 files changed, 643 insertions(+)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagElementEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagElementEntity.java
new file mode 100644
index 0000000..b77be1e
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagElementEntity.java
@@ -0,0 +1,123 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Entity
+@Table(name = "PARSER_DAG_ELEMENT")
+public class ParserDagElementEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSER_DAG_ELEMENT_ID")
+    private String id;
+
+    @Column(name = "PARENT_PARSER_INFO_ID")
+    private String parentParserId;
+
+    @Column(name = "CHILD_PARSER_INFO_ID")
+    private String childParserId;
+
+    @Column(name = "PARSING_TEMPLATE_ID")
+    private String parsingTemplateId;
+
+    @OneToMany(targetEntity = ParserDagInputOutputMappingEntity.class, cascade = CascadeType.ALL, orphanRemoval = true,
+            mappedBy = "parserDagElement", fetch = FetchType.EAGER)
+    private List<ParserDagInputOutputMappingEntity> inputOutputMapping;
+
+    @ManyToOne(targetEntity = ParserInfoEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARENT_PARSER_INFO_ID")
+    private ParserInfoEntity parentParser;
+
+    @ManyToOne(targetEntity = ParserInfoEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "CHILD_PARSER_INFO_ID")
+    private ParserInfoEntity childParser;
+
+    @ManyToOne(targetEntity = ParsingTemplateEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSING_TEMPLATE_ID")
+    private ParsingTemplateEntity parsingTemplate;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getParentParserId() {
+        return parentParserId;
+    }
+
+    public void setParentParserId(String parentParserId) {
+        this.parentParserId = parentParserId;
+    }
+
+    public String getChildParserId() {
+        return childParserId;
+    }
+
+    public void setChildParserId(String childParserId) {
+        this.childParserId = childParserId;
+    }
+
+    public List<ParserDagInputOutputMappingEntity> getInputOutputMapping() {
+        return inputOutputMapping;
+    }
+
+    public void setInputOutputMapping(List<ParserDagInputOutputMappingEntity> inputOutputMapping) {
+        this.inputOutputMapping = inputOutputMapping;
+    }
+
+    public ParserInfoEntity getParentParser() {
+        return parentParser;
+    }
+
+    public void setParentParser(ParserInfoEntity parentParser) {
+        this.parentParser = parentParser;
+    }
+
+    public ParserInfoEntity getChildParser() {
+        return childParser;
+    }
+
+    public void setChildParser(ParserInfoEntity childParser) {
+        this.childParser = childParser;
+    }
+
+    public String getParsingTemplateId() {
+        return parsingTemplateId;
+    }
+
+    public void setParsingTemplateId(String parsingTemplateId) {
+        this.parsingTemplateId = parsingTemplateId;
+    }
+
+    public ParsingTemplateEntity getParsingTemplate() {
+        return parsingTemplate;
+    }
+
+    public void setParsingTemplate(ParsingTemplateEntity parsingTemplate) {
+        this.parsingTemplate = parsingTemplate;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagInputOutputMappingEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagInputOutputMappingEntity.java
new file mode 100644
index 0000000..33cd94a
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserDagInputOutputMappingEntity.java
@@ -0,0 +1,110 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "PARSER_DAG_IO_MAPPING")
+public class ParserDagInputOutputMappingEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSER_DAG_IO_MAPPING_ID")
+    private String id;
+
+    @Column(name = "PARSER_INPUT_ID")
+    private String inputId;
+
+    @Column(name = "PARSER_OUTPUT_ID")
+    private String outputId;
+
+    @Column(name = "PARSER_DAG_ELEMENT_ID")
+    private String parserDagElementId;
+
+    @ManyToOne(targetEntity = ParserInputEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_INPUT_ID")
+    private ParserInputEntity input;
+
+    @ManyToOne(targetEntity = ParserOutputEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_OUTPUT_ID")
+    private ParserOutputEntity output;
+
+    @ManyToOne(targetEntity = ParserDagElementEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_DAG_ELEMENT_ID")
+    private ParserDagElementEntity parserDagElement;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getInputId() {
+        return inputId;
+    }
+
+    public void setInputId(String inputId) {
+        this.inputId = inputId;
+    }
+
+    public String getOutputId() {
+        return outputId;
+    }
+
+    public void setOutputId(String outputId) {
+        this.outputId = outputId;
+    }
+
+    public String getParserDagElementId() {
+        return parserDagElementId;
+    }
+
+    public void setParserDagElementId(String parserDagElementId) {
+        this.parserDagElementId = parserDagElementId;
+    }
+
+    public ParserInputEntity getInput() {
+        return input;
+    }
+
+    public void setInput(ParserInputEntity input) {
+        this.input = input;
+    }
+
+    public ParserOutputEntity getOutput() {
+        return output;
+    }
+
+    public void setOutput(ParserOutputEntity output) {
+        this.output = output;
+    }
+
+    public ParserDagElementEntity getParserDagElement() {
+        return parserDagElement;
+    }
+
+    public void setParserDagElement(ParserDagElementEntity parserDagElement) {
+        this.parserDagElement = parserDagElement;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInfoEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInfoEntity.java
new file mode 100644
index 0000000..89578f4
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInfoEntity.java
@@ -0,0 +1,110 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Entity
+@Table(name = "PARSER_INFO")
+public class ParserInfoEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSER_INFO_ID")
+    private String id;
+
+    @Column(name = "IMAGE_NAME")
+    private String imageName;
+
+    @Column(name = "OUTPUT_DIR_PATH")
+    private String outputDirPath;
+
+    @Column(name = "INPUT_DIR_PATH")
+    private String inputDirPath;
+
+    @Column(name = "EXECUTION_COMMAND")
+    private String executionCommand;
+
+    @OneToMany(targetEntity = ParserInputEntity.class, cascade = CascadeType.ALL, orphanRemoval = true,
+            mappedBy = "parserInfo", fetch = FetchType.EAGER)
+    private List<ParserInputEntity> inputFiles;
+
+    @OneToMany(targetEntity = ParserOutputEntity.class, cascade = CascadeType.ALL, orphanRemoval = true,
+            mappedBy = "parserInfo", fetch = FetchType.EAGER)
+    private List<ParserOutputEntity> outputFiles;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getImageName() {
+        return imageName;
+    }
+
+    public void setImageName(String imageName) {
+        this.imageName = imageName;
+    }
+
+    public String getOutputDirPath() {
+        return outputDirPath;
+    }
+
+    public void setOutputDirPath(String outputDirPath) {
+        this.outputDirPath = outputDirPath;
+    }
+
+    public String getInputDirPath() {
+        return inputDirPath;
+    }
+
+    public void setInputDirPath(String inputDirPath) {
+        this.inputDirPath = inputDirPath;
+    }
+
+    public String getExecutionCommand() {
+        return executionCommand;
+    }
+
+    public void setExecutionCommand(String executionCommand) {
+        this.executionCommand = executionCommand;
+    }
+
+    public List<ParserInputEntity> getInputFiles() {
+        return inputFiles;
+    }
+
+    public void setInputFiles(List<ParserInputEntity> inputFiles) {
+        this.inputFiles = inputFiles;
+    }
+
+    public List<ParserOutputEntity> getOutputFiles() {
+        return outputFiles;
+    }
+
+    public void setOutputFiles(List<ParserOutputEntity> outputFiles) {
+        this.outputFiles = outputFiles;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
new file mode 100644
index 0000000..add8d3c
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserInputEntity.java
@@ -0,0 +1,87 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "PARSER_INPUT")
+public class ParserInputEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSER_INPUT_ID")
+    private String id;
+
+    @Column(name = "PARSER_INPUT_NAME")
+    private String name;
+
+    @Column(name = "PARSER_INPUT_REQUIRED")
+    private boolean requiredFile;
+
+    @Column(name = "PARSER_INFO_ID")
+    private String parserInfoId;
+
+    @ManyToOne(targetEntity = ParserInfoEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_INFO_ID")
+    private ParserInfoEntity parserInfo;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean isRequiredFile() {
+        return requiredFile;
+    }
+
+    public void setRequiredFile(boolean requiredFile) {
+        this.requiredFile = requiredFile;
+    }
+
+    public String getParserInfoId() {
+        return parserInfoId;
+    }
+
+    public void setParserInfoId(String parserInfoId) {
+        this.parserInfoId = parserInfoId;
+    }
+
+    public ParserInfoEntity getParserInfo() {
+        return parserInfo;
+    }
+
+    public void setParserInfo(ParserInfoEntity parserInfo) {
+        this.parserInfo = parserInfo;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
new file mode 100644
index 0000000..00efe12
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParserOutputEntity.java
@@ -0,0 +1,86 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "PARSER_OUTPUT")
+public class ParserOutputEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSER_OUTPUT_ID")
+    private String id;
+
+    @Column(name = "PARSER_OUTPUT_NAME")
+    private String name;
+
+    @Column(name = "PARSER_OUTPUT_REQUIRED")
+    private boolean requiredFile;
+
+    @Column(name = "PARSER_INFO_ID")
+    private String parserInfoId;
+
+    @ManyToOne(targetEntity = ParserInfoEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_INFO_ID")
+    private ParserInfoEntity parserInfo;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean isRequiredFile() {
+        return requiredFile;
+    }
+
+    public void setRequiredFile(boolean requiredFile) {
+        this.requiredFile = requiredFile;
+    }
+
+    public String getParserInfoId() {
+        return parserInfoId;
+    }
+
+    public void setParserInfoId(String parserInfoId) {
+        this.parserInfoId = parserInfoId;
+    }
+
+    public ParserInfoEntity getParserInfo() {
+        return parserInfo;
+    }
+
+    public void setParserInfo(ParserInfoEntity parserInfo) {
+        this.parserInfo = parserInfo;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java
new file mode 100644
index 0000000..78968b9
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateEntity.java
@@ -0,0 +1,77 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Entity
+@Table(name = "PARSING_TEMPLATE")
+public class ParsingTemplateEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSING_TEMPLATE_ID")
+    private String id;
+
+    @Column(name = "APP_INTERFACE_ID")
+    private String applicationInterface;
+
+    @OneToMany(targetEntity = ParsingTemplateInputEntity.class, cascade = CascadeType.ALL, orphanRemoval = true,
+            mappedBy = "parsingTemplate", fetch = FetchType.EAGER)
+    private List<ParsingTemplateInputEntity> initialInputs;
+
+    @OneToMany(targetEntity = ParserDagElementEntity.class, cascade = CascadeType.ALL, orphanRemoval = true,
+            mappedBy = "parsingTemplate", fetch = FetchType.EAGER)
+    private List<ParserDagElementEntity> parserDag;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getApplicationInterface() {
+        return applicationInterface;
+    }
+
+    public void setApplicationInterface(String applicationInterface) {
+        this.applicationInterface = applicationInterface;
+    }
+
+    public List<ParsingTemplateInputEntity> getInitialInputs() {
+        return initialInputs;
+    }
+
+    public void setInitialInputs(List<ParsingTemplateInputEntity> initialInputs) {
+        this.initialInputs = initialInputs;
+    }
+
+    public List<ParserDagElementEntity> getParserDag() {
+        return parserDag;
+    }
+
+    public void setParserDag(List<ParserDagElementEntity> parserDag) {
+        this.parserDag = parserDag;
+    }
+}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
new file mode 100644
index 0000000..a02775c
--- /dev/null
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ParsingTemplateInputEntity.java
@@ -0,0 +1,50 @@
+/*
+ *
+ * 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.registry.core.entities.appcatalog;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "PARSING_TEMPLATE_INPUT")
+public class ParsingTemplateInputEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "PARSING_TEMPLATE_INPUT_ID")
+    private String id;
+
+    @Column(name = "PARSER_INPUT_ID")
+    private String inputId;
+
+    @Column(name = "EXPRESSION")
+    private String expression;
+
+    @Column(name = "PARSING_TEMPLATE_ID")
+    private String parsingTemplateId;
+
+    @ManyToOne(targetEntity = ParserInputEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSER_INPUT_ID")
+    private ParserInputEntity input;
+
+    @ManyToOne(targetEntity = ParsingTemplateEntity.class, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "PARSING_TEMPLATE_ID")
+    private ParsingTemplateEntity parsingTemplate;
+}