details:   https://code.openbravo.com/erp/devel/pi/rev/8ec4eac1fac0
changeset: 15370:8ec4eac1fac0
user:      Guillermo Álvarez de Eulate <guillermo.alvarez <at> openbravo.com>
date:      Tue Feb 07 16:18:38 2012 +0100
summary:   Fixed issue 10429: Warning is shown if wrong java package is entered.

details:   https://code.openbravo.com/erp/devel/pi/rev/b25e86b22d00
changeset: 15371:b25e86b22d00
user:      Guillermo Álvarez de Eulate <guillermo.alvarez <at> openbravo.com>
date:      Tue Feb 07 15:57:02 2012 +0100
summary:   Fixed issue 17955: Now sequence numbers are genetared correctly 
using 'create fields'

diffstat:

 src-db/database/model/functions/AD_TAB_IMPORT.xml               |  11 +-
 src-db/database/sourcedata/AD_CALLOUT.xml                       |  10 +
 src-db/database/sourcedata/AD_COLUMN.xml                        |   2 +
 src-db/database/sourcedata/AD_MESSAGE.xml                       |  11 +
 src-db/database/sourcedata/AD_MODEL_OBJECT.xml                  |  12 +
 src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml          |  10 +
 src/org/openbravo/erpCommon/ad_callouts/JavaPackageChecker.java |  66 
++++++++++
 7 files changed, 120 insertions(+), 2 deletions(-)

diffs (200 lines):

diff -r 4182555aaecc -r b25e86b22d00 
src-db/database/model/functions/AD_TAB_IMPORT.xml
--- a/src-db/database/model/functions/AD_TAB_IMPORT.xml Tue Feb 07 16:22:27 
2012 +0100
+++ b/src-db/database/model/functions/AD_TAB_IMPORT.xml Tue Feb 07 15:57:02 
2012 +0100
@@ -98,6 +98,11 @@
     where ad_tab_id = v_Record_ID
       and m.ad_module_id = t.ad_module_id
       and ISINDEVELOPMENT ='Y';
+
+    select max(seqno)
+      into v_SeqNoCounter
+      from ad_field
+      where ad_field.ad_tab_id = v_Record_ID;
       
     if v_module_id is null then
       select max(ad_module_id)
@@ -128,8 +133,10 @@
     else
       v_GridSeqNo := 0;
     end if;
-    
-    v_SeqNoCounter := 20; --Reserve 10 for Organization
+
+    if v_SeqNoCounter < 20 then
+      v_SeqNoCounter := 20; --Reserve 10 for Organization
+    end if;
     
     FOR Cur_Column IN(-- added by Pablo Sarobe
     SELECT c.Columnname, c.Name, c.Description, c.Help, c.AD_Column_ID, 
c.FieldLength, t.tablename, c.AD_Module_ID
diff -r 4182555aaecc -r b25e86b22d00 src-db/database/sourcedata/AD_CALLOUT.xml
--- a/src-db/database/sourcedata/AD_CALLOUT.xml Tue Feb 07 16:22:27 2012 +0100
+++ b/src-db/database/sourcedata/AD_CALLOUT.xml Tue Feb 07 15:57:02 2012 +0100
@@ -980,6 +980,16 @@
 <!--F6E343E77DA249559AEF8651D595E880-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--F6E343E77DA249559AEF8651D595E880--></AD_CALLOUT>
 
+<!--FABEBED69FEF49F8993F3FDA911FD94B--><AD_CALLOUT>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  
<AD_CALLOUT_ID><![CDATA[FABEBED69FEF49F8993F3FDA911FD94B]]></AD_CALLOUT_ID>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  <NAME><![CDATA[Java package 
checker]]></NAME>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  <DESCRIPTION><![CDATA[verifies if the 
java package is valid]]></DESCRIPTION>
+<!--FABEBED69FEF49F8993F3FDA911FD94B-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--FABEBED69FEF49F8993F3FDA911FD94B--></AD_CALLOUT>
+
 <!--FF8080813141FBE30131420735D80013--><AD_CALLOUT>
 <!--FF8080813141FBE30131420735D80013-->  
<AD_CALLOUT_ID><![CDATA[FF8080813141FBE30131420735D80013]]></AD_CALLOUT_ID>
 <!--FF8080813141FBE30131420735D80013-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 4182555aaecc -r b25e86b22d00 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Tue Feb 07 16:22:27 2012 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Tue Feb 07 15:57:02 2012 +0100
@@ -224376,6 +224376,7 @@
 <!--56EB0A0CAC47B232E040007F01001BD8-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
 <!--56EB0A0CAC47B232E040007F01001BD8-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
 <!--56EB0A0CAC47B232E040007F01001BD8-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--56EB0A0CAC47B232E040007F01001BD8-->  
<AD_CALLOUT_ID><![CDATA[FABEBED69FEF49F8993F3FDA911FD94B]]></AD_CALLOUT_ID>
 <!--56EB0A0CAC47B232E040007F01001BD8-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
 <!--56EB0A0CAC47B232E040007F01001BD8-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--56EB0A0CAC47B232E040007F01001BD8-->  <POSITION><![CDATA[19]]></POSITION>
@@ -248759,6 +248760,7 @@
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<AD_CALLOUT_ID><![CDATA[FABEBED69FEF49F8993F3FDA911FD94B]]></AD_CALLOUT_ID>
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--7E3EF62A996311DD88AB001D09C4A2FE-->  <POSITION><![CDATA[6]]></POSITION>
diff -r 4182555aaecc -r b25e86b22d00 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Tue Feb 07 16:22:27 2012 +0100
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Tue Feb 07 15:57:02 2012 +0100
@@ -16993,6 +16993,17 @@
 <!--7274F488C47D4E9EB793C4A506F2825C-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--7274F488C47D4E9EB793C4A506F2825C--></AD_MESSAGE>
 
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282--><AD_MESSAGE>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  
<AD_MESSAGE_ID><![CDATA[72AA3E0BE79647BABDC4FEA0E1AAB282]]></AD_MESSAGE_ID>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  
<VALUE><![CDATA[javaPackageError]]></VALUE>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  <MSGTEXT><![CDATA[The java package 
could cause problems. Try to fill the field with correct one. (E.g. 
"org.openbravo.example")]]></MSGTEXT>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--72AA3E0BE79647BABDC4FEA0E1AAB282--></AD_MESSAGE>
+
 <!--72F16255E38E43B2BBAFEA26E502C9C8--><AD_MESSAGE>
 <!--72F16255E38E43B2BBAFEA26E502C9C8-->  
<AD_MESSAGE_ID><![CDATA[72F16255E38E43B2BBAFEA26E502C9C8]]></AD_MESSAGE_ID>
 <!--72F16255E38E43B2BBAFEA26E502C9C8-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 4182555aaecc -r b25e86b22d00 
src-db/database/sourcedata/AD_MODEL_OBJECT.xml
--- a/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Tue Feb 07 16:22:27 
2012 +0100
+++ b/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Tue Feb 07 15:57:02 
2012 +0100
@@ -4028,6 +4028,18 @@
 <!--C89A0AEF274C411B8EF38436FA4193B5-->  
<OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
 <!--C89A0AEF274C411B8EF38436FA4193B5--></AD_MODEL_OBJECT>
 
+<!--CA84D1D58D6D4C5495F9FDE7549336E4--><AD_MODEL_OBJECT>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  
<AD_MODEL_OBJECT_ID><![CDATA[CA84D1D58D6D4C5495F9FDE7549336E4]]></AD_MODEL_OBJECT_ID>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  <ACTION><![CDATA[C]]></ACTION>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  
<CLASSNAME><![CDATA[org.openbravo.erpCommon.ad_callouts.JavaPackageChecker]]></CLASSNAME>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  
<AD_CALLOUT_ID><![CDATA[FABEBED69FEF49F8993F3FDA911FD94B]]></AD_CALLOUT_ID>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4-->  
<OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
+<!--CA84D1D58D6D4C5495F9FDE7549336E4--></AD_MODEL_OBJECT>
+
 <!--CD9445A64E6B435AA70BFF526289C69B--><AD_MODEL_OBJECT>
 <!--CD9445A64E6B435AA70BFF526289C69B-->  
<AD_MODEL_OBJECT_ID><![CDATA[CD9445A64E6B435AA70BFF526289C69B]]></AD_MODEL_OBJECT_ID>
 <!--CD9445A64E6B435AA70BFF526289C69B-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 4182555aaecc -r b25e86b22d00 
src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml
--- a/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml    Tue Feb 07 
16:22:27 2012 +0100
+++ b/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml    Tue Feb 07 
15:57:02 2012 +0100
@@ -4430,6 +4430,16 @@
 <!--F5BCD7FB0FA74F3DB30B4376FC021BA7-->  <ISDEFAULT><![CDATA[N]]></ISDEFAULT>
 <!--F5BCD7FB0FA74F3DB30B4376FC021BA7--></AD_MODEL_OBJECT_MAPPING>
 
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2--><AD_MODEL_OBJECT_MAPPING>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  
<AD_MODEL_OBJECT_MAPPING_ID><![CDATA[F7EB25F8D1E14A548D51BF6DE8E203D2]]></AD_MODEL_OBJECT_MAPPING_ID>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  
<AD_MODEL_OBJECT_ID><![CDATA[CA84D1D58D6D4C5495F9FDE7549336E4]]></AD_MODEL_OBJECT_ID>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  
<MAPPINGNAME><![CDATA[/ad_callouts/Javapackagechecker.html]]></MAPPINGNAME>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--F7EB25F8D1E14A548D51BF6DE8E203D2--></AD_MODEL_OBJECT_MAPPING>
+
 <!--F933D34873A94ECCB0A9F3EF490E5660--><AD_MODEL_OBJECT_MAPPING>
 <!--F933D34873A94ECCB0A9F3EF490E5660-->  
<AD_MODEL_OBJECT_MAPPING_ID><![CDATA[F933D34873A94ECCB0A9F3EF490E5660]]></AD_MODEL_OBJECT_MAPPING_ID>
 <!--F933D34873A94ECCB0A9F3EF490E5660-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 4182555aaecc -r b25e86b22d00 
src/org/openbravo/erpCommon/ad_callouts/JavaPackageChecker.java
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/ad_callouts/JavaPackageChecker.java   Tue Feb 
07 15:57:02 2012 +0100
@@ -0,0 +1,66 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2012 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.erpCommon.ad_callouts;
+
+import javax.lang.model.SourceVersion;
+import javax.servlet.ServletException;
+
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.erpCommon.utility.Utility;
+
+/**
+ * This class implements the logic to validate the java package of a module.
+ * 
+ * @author guilleaer
+ * 
+ */
+public class JavaPackageChecker extends SimpleCallout {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  protected void execute(CalloutInfo info) throws ServletException {
+    String strPackage = info.getStringParameter("inpjavapackage", null);
+    if (!isValidName(strPackage)) {
+      info.addResult(
+          "WARNING",
+          Utility.messageBD(this, "javaPackageError", 
OBContext.getOBContext().getLanguage()
+              .getLanguage()));
+    }
+  }
+
+  /**
+   * Returns a boolean which indicates if the java package name is valid. The 
method tries to verify
+   * that the java package name is valid, also looks for java reserved words 
which are not accepted
+   * for the java package name.
+   * 
+   * @param javaPackageString
+   *          String with the java package inserted by the user.
+   * @return true if the java package is correct.
+   */
+  private boolean isValidName(String javaPackageString) {
+    for (String s : javaPackageString.split("\\.", -1)) {
+      if (!SourceVersion.isName(s)) {
+        return false;
+      }
+    }
+    return true;
+  }
+
+}

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to