svn commit: r1495868 - /sqoop/site/trunk/pom.xml
Author: jarcec Date: Sun Jun 23 18:36:01 2013 New Revision: 1495868 URL: http://svn.apache.org/r1495868 Log: Adding Hari and Venkat as a committers Modified: sqoop/site/trunk/pom.xml Modified: sqoop/site/trunk/pom.xml URL: http://svn.apache.org/viewvc/sqoop/site/trunk/pom.xml?rev=1495868r1=1495867r2=1495868view=diff == --- sqoop/site/trunk/pom.xml (original) +++ sqoop/site/trunk/pom.xml Sun Jun 23 18:36:01 2013 @@ -240,8 +240,8 @@ /roles /developer developer - idvenkatrangan/id - nameVenkat Ranganathan/name + idvenkatnrangan/id + namevenkatnrangan/name organizationHortonworks/organization roles rolecommitter/role
svn commit: r867091 - in /websites/staging/sqoop/trunk/content: ./ index.html issue-tracking.html license.html mail-lists.html project-info.html source-repository.html team-list.html
Author: buildbot Date: Sun Jun 23 18:37:33 2013 New Revision: 867091 Log: Staging update by buildbot for sqoop Modified: websites/staging/sqoop/trunk/content/ (props changed) websites/staging/sqoop/trunk/content/index.html websites/staging/sqoop/trunk/content/issue-tracking.html websites/staging/sqoop/trunk/content/license.html websites/staging/sqoop/trunk/content/mail-lists.html websites/staging/sqoop/trunk/content/project-info.html websites/staging/sqoop/trunk/content/source-repository.html websites/staging/sqoop/trunk/content/team-list.html Propchange: websites/staging/sqoop/trunk/content/ -- --- cms:source-revision (original) +++ cms:source-revision Sun Jun 23 18:37:33 2013 @@ -1 +1 @@ -1495266 +1495868 Modified: websites/staging/sqoop/trunk/content/index.html == --- websites/staging/sqoop/trunk/content/index.html (original) +++ websites/staging/sqoop/trunk/content/index.html Sun Jun 23 18:37:33 2013 @@ -1,13 +1,13 @@ !DOCTYPE html !-- - | Generated by Apache Maven Doxia at Jun 21, 2013 + | Generated by Apache Maven Doxia at Jun 23, 2013 | Rendered using Apache Maven Fluido Skin 1.3.0 -- html xmlns=http://www.w3.org/1999/xhtml; xml:lang=en lang=en head meta charset=UTF-8 / meta name=viewport content=width=device-width, initial-scale=1.0 / -meta name=Date-Revision-mmdd content=20130621 / +meta name=Date-Revision-mmdd content=20130623 / meta http-equiv=Content-Language content=en / title/title link rel=stylesheet href=./css/apache-maven-fluido-1.3.0.min.css / @@ -208,7 +208,7 @@ - li id=publishDate class=pull-rightLast Published: 2013-06-21/li + li id=publishDate class=pull-rightLast Published: 2013-06-23/li /ul /div Modified: websites/staging/sqoop/trunk/content/issue-tracking.html == --- websites/staging/sqoop/trunk/content/issue-tracking.html (original) +++ websites/staging/sqoop/trunk/content/issue-tracking.html Sun Jun 23 18:37:33 2013 @@ -1,13 +1,13 @@ !DOCTYPE html !-- - | Generated by Apache Maven Doxia at Jun 21, 2013 + | Generated by Apache Maven Doxia at Jun 23, 2013 | Rendered using Apache Maven Fluido Skin 1.3.0 -- html xmlns=http://www.w3.org/1999/xhtml; xml:lang=en lang=en head meta charset=UTF-8 / meta name=viewport content=width=device-width, initial-scale=1.0 / -meta name=Date-Revision-mmdd content=20130621 / +meta name=Date-Revision-mmdd content=20130623 / meta http-equiv=Content-Language content=en / titleIssue Tracking/title link rel=stylesheet href=./css/apache-maven-fluido-1.3.0.min.css / @@ -208,7 +208,7 @@ - li id=publishDate class=pull-rightLast Published: 2013-06-21/li + li id=publishDate class=pull-rightLast Published: 2013-06-23/li /ul /div Modified: websites/staging/sqoop/trunk/content/license.html == --- websites/staging/sqoop/trunk/content/license.html (original) +++ websites/staging/sqoop/trunk/content/license.html Sun Jun 23 18:37:33 2013 @@ -1,13 +1,13 @@ !DOCTYPE html !-- - | Generated by Apache Maven Doxia at Jun 21, 2013 + | Generated by Apache Maven Doxia at Jun 23, 2013 | Rendered using Apache Maven Fluido Skin 1.3.0 -- html xmlns=http://www.w3.org/1999/xhtml; xml:lang=en lang=en head meta charset=UTF-8 / meta name=viewport content=width=device-width, initial-scale=1.0 / -meta name=Date-Revision-mmdd content=20130621 / +meta name=Date-Revision-mmdd content=20130623 / meta http-equiv=Content-Language content=en / titleProject License/title link rel=stylesheet href=./css/apache-maven-fluido-1.3.0.min.css / @@ -208,7 +208,7 @@ - li id=publishDate class=pull-rightLast Published: 2013-06-21/li + li id=publishDate class=pull-rightLast Published: 2013-06-23/li /ul /div Modified: websites/staging/sqoop/trunk/content/mail-lists.html == --- websites/staging/sqoop/trunk/content/mail-lists.html (original) +++ websites/staging/sqoop/trunk/content/mail-lists.html Sun Jun 23 18:37:33 2013 @@ -1,13 +1,13 @@ !DOCTYPE html !-- - | Generated by Apache Maven Doxia at Jun 21, 2013 + | Generated by Apache Maven Doxia at Jun 23, 2013 | Rendered using Apache Maven Fluido Skin 1.3.0 -- html xmlns=http://www.w3.org
svn commit: r867097 - in /websites/staging/sqoop/trunk/content: ./ team-list.html
Author: buildbot Date: Sun Jun 23 19:47:24 2013 New Revision: 867097 Log: Staging update by buildbot for sqoop Modified: websites/staging/sqoop/trunk/content/ (props changed) websites/staging/sqoop/trunk/content/team-list.html Propchange: websites/staging/sqoop/trunk/content/ -- --- cms:source-revision (original) +++ cms:source-revision Sun Jun 23 19:47:24 2013 @@ -1 +1 @@ -1495868 +1495879 Modified: websites/staging/sqoop/trunk/content/team-list.html == --- websites/staging/sqoop/trunk/content/team-list.html (original) +++ websites/staging/sqoop/trunk/content/team-list.html Sun Jun 23 19:47:24 2013 @@ -217,7 +217,7 @@ div id=bodyColumn -div class=sectionh2The Teama name=The_Team/a/h2a name=The_Team/apA successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions./ppThe team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated./pdiv class=sectionh3Membersa name=Members/a/h3a name=Members/apThe following is a list of developers with commit privileges that have directly contributed to the project in one way or another./ptable border=0 class=table table-stripedtr class=athId/ththName/ththOrganization/ththRoles/t h/trtr class=btda name=abayer/aabayer/tdtdAndrew Bayer/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=abhijeet/aabhijeet/tdtdAbhijeet Gaikwad/tdtdPersistent Systems Limited/tdtdcommitter/td/trtr class=btda name=ahmed/aahmed/tdtdAhmed Radwan/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=arvind/aarvind/tdtdArvind Prabhakar/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=btda name=blee/ablee/tdtdBilung Lee/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=cheolsoo/acheolsoo/tdtdCheolsoo Park/tdtdCloudera/tdtdcommitter/td/trtr class=btda name=gcottman/agcottman/tdtdGreg Cottman/tdtdQuest/tdtdcommitter, PMC member/td/trtr class=atda name=guylemar/aguylemar/tdtdGuy le Mar/tdtdQuest/tdtdcommitter, PMC member/td /trtr class=btda name=hshreedharan/ahshreedharan/tdtdHari Shreedharan/tdtdCloudera/tdtdcommitter/td/trtr class=atda name=jarcec/ajarcec/tdtdJaroslav Cecho/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=btda name=jmhsieh/ajmhsieh/tdtdJonathan Hsieh/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=kathleen/akathleen/tdtdKathleen Ting/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=btda name=kimballa/akimballa/tdtdAaron Kimball/tdtdOdiago/tdtdcommitter, PMC member/td/trtr class=atda name=olamy/aolamy/tdtdOlivier Lamy/tdtdTalend/tdtdcommitter, PMC member/td/trtr class=btda name=posix4e/aposix4e/tdtdAlex Newman/tdtdOpower/tdtdcommitter/td/trtr class=atda name=pzimdars/apzimdars/tdtdPaul Zimdars/tdtdJPL/tdtdcommitter, PMC member/td/tr tr class=btda name=rvs/arvs/tdtdRoman Shaposhnik/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=venkatnrangan/avenkatnrangan/tdtdvenkatnrangan/tdtdHortonworks/tdtdcommitter/td/tr/table/divdiv class=sectionh3Contributorsa name=Contributors/a/h3a name=Contributors/apThere are no contributors listed for this project. Please check back again later./pscript type=text/javascript +div class=sectionh2The Teama name=The_Team/a/h2a name=The_Team/apA successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions./ppThe team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated./pdiv class=sectionh3Membersa name=Members/a/h3a name=Members/apThe following is a list of developers with commit privileges that have directly contributed to the project in one way or another./ptable border=0 class=table table-stripedtr class=athId/ththName/ththOrganization/ththRoles/t h/trtr class=btda name=abayer/aabayer/tdtdAndrew Bayer/tdtdCloudera/tdtdcommitter, PMC member/td/trtr class=atda name=abhijeet/aabhijeet/tdtdAbhijeet Gaikwad/tdtdPersistent Systems Limited/tdtdcommitter/td/trtr class=btda name=ahmed/aahmed/tdtdAhmed Radwan/tdtdCloudera/tdtdcommitter, PMC
svn commit: r867098 - /websites/production/sqoop/content/
Author: jarcec Date: Sun Jun 23 19:49:55 2013 New Revision: 867098 Log: Adding Hari and Venkat as a new Sqoop committers. Added: websites/production/sqoop/content/ - copied from r867097, websites/staging/sqoop/trunk/content/
git commit: SQOOP-1082: Implement pre-commit testing with Jenkins
Updated Branches: refs/heads/sqoop2 681914c85 - fe54d473a SQOOP-1082: Implement pre-commit testing with Jenkins (Jarek Jarcec Cecho via Kate Ting) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/fe54d473 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/fe54d473 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/fe54d473 Branch: refs/heads/sqoop2 Commit: fe54d473afbfd9982942beb96b582c5b9faab549 Parents: 681914c Author: Kate Ting kathl...@apache.org Authored: Sun Jun 23 18:30:31 2013 -0400 Committer: Kate Ting kathl...@apache.org Committed: Sun Jun 23 18:30:31 2013 -0400 -- .gitignore| 1 + dev-support/test-patch.py | 400 + pom.xml | 1 + 3 files changed, 402 insertions(+) -- http://git-wip-us.apache.org/repos/asf/sqoop/blob/fe54d473/.gitignore -- diff --git a/.gitignore b/.gitignore index dfd2ae1..62bda43 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ target *.log .idea nb-configuration.xml +patch-process http://git-wip-us.apache.org/repos/asf/sqoop/blob/fe54d473/dev-support/test-patch.py -- diff --git a/dev-support/test-patch.py b/dev-support/test-patch.py new file mode 100755 index 000..27dbcad --- /dev/null +++ b/dev-support/test-patch.py @@ -0,0 +1,400 @@ +#!/usr/bin/env python +# +# 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. +# + +# +# Pre Commit Hook for running tests and updating JIRA +# +# Original version was copied from FLUME project. +# +import sys, os, re, urllib2, base64, subprocess, tempfile, shutil +import json +from optparse import OptionParser + +tmp_dir = None +BASE_JIRA_URL = 'https://issues.apache.org/jira' + +# Write output to file +def write_file(filename, content): + with open(filename, w) as text_file: + text_file.write(content) + +# Guess branch for given versions +# +# Return None if detects that JIRA belongs to more than one branch +def sqoop_guess_branch(versions): + branch = None + + for v in versions: +tmp_branch = None + +if v.startswith(1.99) or v.startswith(2.0): + tmp_branch = sqoop +else: + tmp_branch = trunk + +if not branch: + branch = tmp_branch +else: + if branch != tmp_branch: +return None + + return branch + +# Verify supported branch +def sqoop_verify_branch(branch): + return branch in {sqoop2, SQOOP-1082} + +def execute(cmd, log=True): + if log: +print INFO: Executing %s % (cmd) + return subprocess.call(cmd, shell=True) + +def jira_request(result, url, username, password, data, headers): + request = urllib2.Request(url, data, headers) + print INFO: URL = %s, Username = %s, data = %s, headers = %s % (url, username, data, str(headers)) + if username and password: +base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') +request.add_header(Authorization, Basic %s % base64string) + return urllib2.urlopen(request) + +def jira_get_defect_html(result, defect, username, password): + url = %s/browse/%s % (BASE_JIRA_URL, defect) + return jira_request(result, url, username, password, None, {}).read() + +def jira_get_defect(result, defect, username, password): + url = %s/rest/api/2/issue/%s % (BASE_JIRA_URL, defect) + return jira_request(result, url, username, password, None, {}).read() + +def jira_generate_comment(result, branch): + body = [ Here are the results of testing the latest attachment ] + body += [ %s against branch %s. % (result.attachment, branch) ] + body += [ ] + if result._fatal: +result._error = [ result._fatal ] + result._error + if result._error: +count = len(result._error) +if count == 1: + body += [ {color:red}Overall:{color} -1 due to an error ] +else: + body += [ {color:red}Overall:{color} -1 due to %d errors % (count) ] + else: +body += [ {color:green}Overall:{color} +1 all checks pass ] + body += [ ] + for error
git commit: SQOOP-1087: Sqoop2: Integration: Abstract common functionality into src module
Updated Branches: refs/heads/sqoop2 fe54d473a - f980e90fc SQOOP-1087: Sqoop2: Integration: Abstract common functionality into src module (Jarek Jarcec Cecho via Kate Ting) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/f980e90f Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/f980e90f Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/f980e90f Branch: refs/heads/sqoop2 Commit: f980e90fc9570b01305166b19d7381c2051bc49e Parents: fe54d47 Author: Kate Ting kathl...@apache.org Authored: Sun Jun 23 18:43:50 2013 -0400 Committer: Kate Ting kathl...@apache.org Committed: Sun Jun 23 18:43:50 2013 -0400 -- test/pom.xml| 1 - .../apache/sqoop/test/asserts/HdfsAsserts.java | 83 .../sqoop/test/asserts/ProviderAsserts.java | 74 +++ .../java/org/apache/sqoop/test/data/Cities.java | 53 + .../org/apache/sqoop/test/data/DataSet.java | 66 ++ .../sqoop/test/testcases/ConnectorTestCase.java | 177 .../sqoop/test/testcases/TomcatTestCase.java| 146 + .../org/apache/sqoop/test/utils/HdfsUtils.java | 69 ++ .../sqoop/integration/TomcatTestCase.java | 197 - .../connector/ConnectorTestCase.java| 209 --- .../connector/jdbc/generic/TableExportTest.java | 10 +- .../connector/jdbc/generic/TableImportTest.java | 2 +- .../sqoop/integration/server/VersionTest.java | 2 +- 13 files changed, 675 insertions(+), 414 deletions(-) -- http://git-wip-us.apache.org/repos/asf/sqoop/blob/f980e90f/test/pom.xml -- diff --git a/test/pom.xml b/test/pom.xml index b7ea1ed..8001fce 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -33,7 +33,6 @@ limitations under the License. dependency groupIdjunit/groupId artifactIdjunit/artifactId - scopetest/scope /dependency dependency http://git-wip-us.apache.org/repos/asf/sqoop/blob/f980e90f/test/src/main/java/org/apache/sqoop/test/asserts/HdfsAsserts.java -- diff --git a/test/src/main/java/org/apache/sqoop/test/asserts/HdfsAsserts.java b/test/src/main/java/org/apache/sqoop/test/asserts/HdfsAsserts.java new file mode 100644 index 000..056e612 --- /dev/null +++ b/test/src/main/java/org/apache/sqoop/test/asserts/HdfsAsserts.java @@ -0,0 +1,83 @@ +/** + * 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.sqoop.test.asserts; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.apache.sqoop.test.utils.HdfsUtils; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import static org.junit.Assert.fail; + +/** + * Assert methods suitable for checking HDFS files and directories. + * + * TODO: This module will require clean up to work on MiniCluster/Real cluster. + */ +public class HdfsAsserts { + + private static final Logger LOG = Logger.getLogger(HdfsAsserts.class); + + /** + * Verify that mapreduce output (across all files) is as expected. + * + * @param directory Mapreduce output directory + * @param lines Expected lines + * @throws IOException + */ + public static void assertMapreduceOutput(String directory, String... lines) throws IOException { +SetString setLines = new HashSetString(Arrays.asList(lines)); +ListString notFound = new LinkedListString(); + +String []files = HdfsUtils.getOutputMapreduceFiles(directory); + +for(String file : files) { + String filePath = directory + / + file; + BufferedReader br = new BufferedReader(new FileReader((filePath))); + + String line; + while ((line = br.readLine()) != null) { +if (!setLines.remove(line)) { + notFound.add(line); +} + } + br.close(); +
git commit: SQOOP-1059. Sqoop2: Remove ad hoc modle cloning methods in common module.
Updated Branches: refs/heads/sqoop2 f980e90fc - 575a86531 SQOOP-1059. Sqoop2: Remove ad hoc modle cloning methods in common module. (Jarek Jarcec Cecho via Hari Shreedharan) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/575a8653 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/575a8653 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/575a8653 Branch: refs/heads/sqoop2 Commit: 575a86531dc5b79da7056f5c4acd9a0ee91eea99 Parents: f980e90 Author: Hari Shreedharan hshreedha...@apache.org Authored: Sun Jun 23 21:41:01 2013 -0700 Committer: Hari Shreedharan hshreedha...@apache.org Committed: Sun Jun 23 21:41:01 2013 -0700 -- .../org/apache/sqoop/repository/Repository.java | 49 ++-- 1 file changed, 4 insertions(+), 45 deletions(-) -- http://git-wip-us.apache.org/repos/asf/sqoop/blob/575a8653/core/src/main/java/org/apache/sqoop/repository/Repository.java -- diff --git a/core/src/main/java/org/apache/sqoop/repository/Repository.java b/core/src/main/java/org/apache/sqoop/repository/Repository.java index a2911c5..306bd90 100644 --- a/core/src/main/java/org/apache/sqoop/repository/Repository.java +++ b/core/src/main/java/org/apache/sqoop/repository/Repository.java @@ -394,8 +394,7 @@ public abstract class Repository { // Make a new copy of the forms from the connector, // else the values will get set in the forms in the connector for // each connection. -ListMForm forms = cloneForms(newConnector.getConnectionForms() - .getForms()); +ListMForm forms = newConnector.getConnectionForms().clone(false).getForms(); MConnectionForms newConnectionForms = new MConnectionForms(forms); upgrader.upgrade(connection.getConnectorPart(), newConnectionForms); MConnection newConnection = new MConnection(connectorID, @@ -407,8 +406,7 @@ public abstract class Repository { // Make a new copy of the forms from the connector, // else the values will get set in the forms in the connector for // each connection. -ListMForm forms = cloneForms(newConnector.getJobForms(job.getType()) - .getForms()); +ListMForm forms = newConnector.getJobForms(job.getType()).clone(false).getForms(); MJobForms newJobForms = new MJobForms(job.getType(), forms); upgrader.upgrade(job.getConnectorPart(), newJobForms); MJob newJob = new MJob(connectorID, job.getConnectionId(), @@ -449,8 +447,7 @@ public abstract class Repository { // Make a new copy of the forms from the connector, // else the values will get set in the forms in the connector for // each connection. -ListMForm forms = cloneForms(framework.getConnectionForms() - .getForms()); +ListMForm forms = framework.getConnectionForms().clone(false).getForms(); MConnectionForms newConnectionForms = new MConnectionForms(forms); upgrader.upgrade(connection.getFrameworkPart(), newConnectionForms); MConnection newConnection = new MConnection(connection.getConnectorId(), @@ -462,8 +459,7 @@ public abstract class Repository { // Make a new copy of the forms from the framework, // else the values will get set in the forms in the connector for // each connection. -ListMForm forms = cloneForms(framework.getJobForms(job.getType()) - .getForms()); +ListMForm forms = framework.getJobForms(job.getType()).clone(false).getForms(); MJobForms newJobForms = new MJobForms(job.getType(), forms); upgrader.upgrade(job.getFrameworkPart(), newJobForms); MJob newJob = new MJob(job.getConnectorId(), job.getConnectionId(), @@ -484,41 +480,4 @@ public abstract class Repository { LOG.info(Framework metadata upgrade finished); } } - - /** - * Clones the forms, but does not set the actual data, - * validation message etc in the inputs, but only the persistence id of the - * inputs. - * @param mForms MForms which must be cloned - * @return Cloned MForms - * @throws Exception - */ - private ListMForm cloneForms(ListMForm mForms) throws Exception { -ListMForm forms = new ArrayListMForm(); -for(MForm mForm : mForms) { - ListMInput? inputs = new ArrayListMInput?(); - for (MInput? input : mForm.getInputs()) { -MInput newInput; -if(input instanceof MEnumInput) { - newInput = new MEnumInput(input.getName(), input.isSensitive(), -((MEnumInput) input).getValues()); -} else if (input instanceof MMapInput) { - newInput = new MMapInput(input.getName(), input.isSensitive()); -} else if (input instanceof MBooleanInput) { -