details: /erp/devel/pi/rev/bd3fb77fe92d
changeset: 11332:bd3fb77fe92d
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Tue Mar 22 10:46:43 2011 +0100
summary: Allow inconsistent depencies when installing/updating through obx
In this way it will be possible to do obx upgrades setting minor dependency
from v3 template to core.
details: /erp/devel/pi/rev/8343759379cd
changeset: 11333:8343759379cd
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Tue Mar 22 11:03:01 2011 +0100
summary: Dependency from v3 template to core is MINOR enforcement
diffstat:
modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml |
2 +-
src-db/database/sourcedata/AD_MESSAGE.xml |
11 ++
src-db/database/sourcedata/AD_TEXTINTERFACES.xml |
22 ++++
src/org/openbravo/erpCommon/ad_forms/ModuleManagement.java |
17 +++-
src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallLocal.html |
5 +-
src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html |
9 +-
src/org/openbravo/erpCommon/modules/ImportModule.java |
8 +
src/org/openbravo/erpCommon/modules/VersionUtility.java |
49 ++-------
src/org/openbravo/erpCommon/modules/VersionUtility_data.xsql |
32 ++++--
9 files changed, 101 insertions(+), 54 deletions(-)
diffs (truncated from 352 to 300 lines):
diff -r c4e1d4214951 -r 8343759379cd
modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
---
a/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
Mon Mar 21 16:31:37 2011 +0100
+++
b/modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
Tue Mar 22 11:03:01 2011 +0100
@@ -66,7 +66,7 @@
<!--A32F3279B3374FC0A6CFEA2368BB7053-->
<STARTVERSION><![CDATA[3.0.11317]]></STARTVERSION>
<!--A32F3279B3374FC0A6CFEA2368BB7053--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
<!--A32F3279B3374FC0A6CFEA2368BB7053-->
<DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
-<!--A32F3279B3374FC0A6CFEA2368BB7053-->
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
+<!--A32F3279B3374FC0A6CFEA2368BB7053-->
<DEPENDENCY_ENFORCEMENT><![CDATA[MINOR]]></DEPENDENCY_ENFORCEMENT>
<!--A32F3279B3374FC0A6CFEA2368BB7053-->
<USER_EDITABLE_ENFORCEMENT><![CDATA[N]]></USER_EDITABLE_ENFORCEMENT>
<!--A32F3279B3374FC0A6CFEA2368BB7053--></AD_MODULE_DEPENDENCY>
diff -r c4e1d4214951 -r 8343759379cd src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Mon Mar 21 16:31:37 2011 +0100
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Tue Mar 22 11:03:01 2011 +0100
@@ -34347,4 +34347,15 @@
<!--FF8080812EA11CED012EA1CCB28700F0-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--FF8080812EA11CED012EA1CCB28700F0--></AD_MESSAGE>
+<!--FF8081812EDCCB27012EDCD3F897000A--><AD_MESSAGE>
+<!--FF8081812EDCCB27012EDCD3F897000A-->
<AD_MESSAGE_ID><![CDATA[FF8081812EDCCB27012EDCD3F897000A]]></AD_MESSAGE_ID>
+<!--FF8081812EDCCB27012EDCD3F897000A-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812EDCCB27012EDCD3F897000A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812EDCCB27012EDCD3F897000A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812EDCCB27012EDCD3F897000A-->
<VALUE><![CDATA[DependenciesNotSatisfied]]></VALUE>
+<!--FF8081812EDCCB27012EDCD3F897000A--> <MSGTEXT><![CDATA[Dependencies for
the modules you are trying to install/update are not satisfied]]></MSGTEXT>
+<!--FF8081812EDCCB27012EDCD3F897000A--> <MSGTYPE><![CDATA[W]]></MSGTYPE>
+<!--FF8081812EDCCB27012EDCD3F897000A-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--FF8081812EDCCB27012EDCD3F897000A--></AD_MESSAGE>
+
</data>
diff -r c4e1d4214951 -r 8343759379cd
src-db/database/sourcedata/AD_TEXTINTERFACES.xml
--- a/src-db/database/sourcedata/AD_TEXTINTERFACES.xml Mon Mar 21 16:31:37
2011 +0100
+++ b/src-db/database/sourcedata/AD_TEXTINTERFACES.xml Tue Mar 22 11:03:01
2011 +0100
@@ -21960,6 +21960,28 @@
<!--9F0C2175AC6145B49570E24110762368-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--9F0C2175AC6145B49570E24110762368--></AD_TEXTINTERFACES>
+<!--9F0EC49B722D9932E040A8C021013095--><AD_TEXTINTERFACES>
+<!--9F0EC49B722D9932E040A8C021013095-->
<AD_TEXTINTERFACES_ID><![CDATA[9F0EC49B722D9932E040A8C021013095]]></AD_TEXTINTERFACES_ID>
+<!--9F0EC49B722D9932E040A8C021013095-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9F0EC49B722D9932E040A8C021013095--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9F0EC49B722D9932E040A8C021013095--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9F0EC49B722D9932E040A8C021013095--> <TEXT><![CDATA[With the modules
selected to install/update dependencies are not satisfied.]]></TEXT>
+<!--9F0EC49B722D9932E040A8C021013095-->
<FILENAME><![CDATA[/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html]]></FILENAME>
+<!--9F0EC49B722D9932E040A8C021013095--> <ISUSED><![CDATA[Y]]></ISUSED>
+<!--9F0EC49B722D9932E040A8C021013095-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9F0EC49B722D9932E040A8C021013095--></AD_TEXTINTERFACES>
+
+<!--9F0EC49B72309932E040A8C021013095--><AD_TEXTINTERFACES>
+<!--9F0EC49B72309932E040A8C021013095-->
<AD_TEXTINTERFACES_ID><![CDATA[9F0EC49B72309932E040A8C021013095]]></AD_TEXTINTERFACES_ID>
+<!--9F0EC49B72309932E040A8C021013095-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9F0EC49B72309932E040A8C021013095--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9F0EC49B72309932E040A8C021013095--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9F0EC49B72309932E040A8C021013095--> <TEXT><![CDATA[ You can continue
with this installation and fix this problem later by installing missing
dependencies.]]></TEXT>
+<!--9F0EC49B72309932E040A8C021013095-->
<FILENAME><![CDATA[/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html]]></FILENAME>
+<!--9F0EC49B72309932E040A8C021013095--> <ISUSED><![CDATA[Y]]></ISUSED>
+<!--9F0EC49B72309932E040A8C021013095-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9F0EC49B72309932E040A8C021013095--></AD_TEXTINTERFACES>
+
<!--A25FFD50C924486E93F3A39A593C5C20--><AD_TEXTINTERFACES>
<!--A25FFD50C924486E93F3A39A593C5C20-->
<AD_TEXTINTERFACES_ID><![CDATA[A25FFD50C924486E93F3A39A593C5C20]]></AD_TEXTINTERFACES_ID>
<!--A25FFD50C924486E93F3A39A593C5C20-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/ad_forms/ModuleManagement.java
--- a/src/org/openbravo/erpCommon/ad_forms/ModuleManagement.java Mon Mar
21 16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/ModuleManagement.java Tue Mar
22 11:03:01 2011 +0100
@@ -639,7 +639,7 @@
VariablesSecureApp vars, String recordId, boolean islocal, InputStream
obx,
String[] updateModules, HashMap<String, String> maturityLevels) throws
IOException,
ServletException {
- final String discard[] = { "", "", "", "", "", "", "warnMaturity", "" };
+ final String discard[] = { "", "", "", "", "", "", "warnMaturity", "",
"missingDeps" };
Module module = null;
// Remote installation is only allowed for heartbeat enabled instances
@@ -702,7 +702,10 @@
check = im.checkDependenciesFile(obx);
}
- if (check) { // dependencies are statisfied, show modules to install
+ if (islocal || check) {
+ // dependencies are satisfied or local installation, show modules to
install. If local
+ // installation and dependencies are not ok show warning.
+
// installOrig includes also the module to install
final Module[] installOrig = im.getModulesToInstall();
@@ -797,7 +800,14 @@
} else {
message.setMessage(message.getMessage() + "\n");
}
+
message.setMessage(message.getMessage() +
additionalMsg.getMessage());
+ if (!check) {
+ discard[8] = ""; // show missing dependencies message
+ message.setType("Warning");
+ message.setTitle(Utility
+ .messageBD(this, "DependenciesNotSatisfied",
vars.getLanguage()));
+ }
}
} else { // Dependencies not satisfied, do not show continue button
@@ -1190,6 +1200,9 @@
}
} else {
+ if (!im.isChecked()) {
+ im.setForce(true);
+ }
selected = installOrig;
}
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallLocal.html
--- a/src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallLocal.html
Mon Mar 21 16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallLocal.html
Tue Mar 22 11:03:01 2011 +0100
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2008-2010 Openbravo SLU
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -53,6 +53,7 @@
if ((frmMain.inpFile.value==null || frmMain.inpFile.value=="")){
setWindowElementFocus(frmMain.inpFile);
showJSMessage(7);
+ setProcessingMode('popup', false);
return false;
}
return true;
@@ -264,7 +265,7 @@
<button type="button"
id="buttonOK"
class="ButtonLink"
- onclick="submitCommandForm('INSTALLFILE', true, null,
'ModuleManagement.html', '_self', null, false);return false;"
+ onclick="setProcessingMode('popup', true);
submitCommandForm('INSTALLFILE', true, null, 'ModuleManagement.html', '_self',
null, false);return false;"
onfocus="buttonEvent('onfocus', this);
window.status='Continue'; return true;"
onblur="buttonEvent('onblur', this);"
onkeyup="buttonEvent('onkeyup', this);"
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html
--- a/src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html
Mon Mar 21 16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html
Tue Mar 22 11:03:01 2011 +0100
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2008-2010 Openbravo SLU
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -217,7 +217,12 @@
<tr>
<td class="PlainText_normal" colspan="4" style="padding: 0 0 10
0; text-align: left;">
- <span>Do you want to continue installing the following
module(s)?</span></td>
+ <span>
+ <p id="missingDeps"><b>With the modules selected to
install/update dependencies are not satisfied.</b>
+ You can continue with this installation and fix this
problem later by installing missing dependencies.</p><br/>
+ <p>Do you want to continue installing the following
module(s)?</p>
+ </span>
+ </td>
</tr>
<tr>
<td colspan="4" style="padding: 0 0 0 0;">
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/modules/ImportModule.java
--- a/src/org/openbravo/erpCommon/modules/ImportModule.java Mon Mar 21
16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/modules/ImportModule.java Tue Mar 22
11:03:01 2011 +0100
@@ -1851,4 +1851,12 @@
return remoteModule;
}
+ public boolean isChecked() {
+ return checked;
+ }
+
+ public void setForce(boolean force) {
+ this.force = force;
+ }
+
}
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/modules/VersionUtility.java
--- a/src/org/openbravo/erpCommon/modules/VersionUtility.java Mon Mar 21
16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/modules/VersionUtility.java Tue Mar 22
11:03:01 2011 +0100
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2008-2010 Openbravo SLU
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -326,12 +326,12 @@
VersionUtilityData[] data = VersionUtilityData.readModules(pool);
HashMap<String, Mod> modules = new HashMap<String, Mod>();
for (int i = 0; i < data.length; i++) {
- if (!isInList(data[i].adModuleId, modulesToMerge)) {
+ if (!isInList(data[i].adModuleId, modulesToMerge) &&
!modules.containsKey(data[i].adModuleId)) {
Mod mod = new Mod();
mod.modId = data[i].adModuleId;
mod.name = data[i].name;
mod.type = data[i].type;
- mod.versions = fillVersions(data[i], mod);
+ mod.versions = fillVersions(data[i], mod,
"Y".equals(data[i].installed));
modules.put(data[i].adModuleId, mod);
}
}
@@ -353,8 +353,8 @@
return false;
}
- static private HashMap<String, Ver> fillVersions(VersionUtilityData data,
Mod mod)
- throws ServletException {
+ static private HashMap<String, Ver> fillVersions(VersionUtilityData data,
Mod mod,
+ boolean installed) throws ServletException {
/** fill Ver objects from database */
/**
* all information needed for modules are stored in ad_module,
ad_module_dependency
@@ -364,8 +364,8 @@
if (data != null) {
Ver ver = new Ver();
ver.version = data.version;
- ver.dependencies = fillDependencies(mod.modId);
- ver.includes = fillIncludes(mod.modId);
+ ver.dependencies = fillDependencies(mod.modId, false, installed);
+ ver.includes = fillDependencies(mod.modId, true, installed);
hashVer.put(ver.version, ver);
/** in the local database there is only one version by module */
@@ -376,37 +376,16 @@
return hashVer;
}
- static private HashMap<String, Dep> fillDependencies(String modID) throws
ServletException {
+ static private HashMap<String, Dep> fillDependencies(String modID, boolean
include,
+ boolean installed) throws ServletException {
/** fill Dep objects from database */
- VersionUtilityData[] data = VersionUtilityData.readDependencies(pool,
modID);
- HashMap<String, Dep> hashDep = new HashMap<String, Dep>();
- for (int i = 0; i < data.length; i++) {
- Dep dep = new Dep();
- dep.depId = data[i].adModuleDependencyId;
- dep.minVer = data[i].startversion;
- dep.maxVer = data[i].endversion;
- dep.modId = data[i].adDependentModuleId;
- dep.modName = data[i].dependantModuleName;
- // set enforcement
- if ("Y".equals(data[i].userEditableEnforcement) &&
data[i].instanceEnforcement != null
- && !data[i].instanceEnforcement.isEmpty()) {
- dep.enforcement = data[i].instanceEnforcement;
- } else {
- dep.enforcement = data[i].dependencyEnforcement;
- if (dep.enforcement == null || dep.enforcement.isEmpty()) {
- dep.enforcement = "MAJOR";
- }
- }
-
- hashDep.put(data[i].adModuleDependencyId, dep);
+ VersionUtilityData[] data;
+ if (installed) {
+ data = VersionUtilityData.readDependencies(pool, modID, include ? "Y" :
"N");
+ } else {
+ data = VersionUtilityData.readDependenciesToInstall(pool, modID, include
? "Y" : "N");
}
- return hashDep;
- }
-
- static private HashMap<String, Dep> fillIncludes(String modID) throws
ServletException {
- /** fill Dep objects from database */
- VersionUtilityData[] data = VersionUtilityData.readIncludes(pool, modID);
HashMap<String, Dep> hashDep = new HashMap<String, Dep>();
for (int i = 0; i < data.length; i++) {
Dep dep = new Dep();
diff -r c4e1d4214951 -r 8343759379cd
src/org/openbravo/erpCommon/modules/VersionUtility_data.xsql
--- a/src/org/openbravo/erpCommon/modules/VersionUtility_data.xsql Mon Mar
21 16:31:37 2011 +0100
+++ b/src/org/openbravo/erpCommon/modules/VersionUtility_data.xsql Tue Mar
22 11:03:01 2011 +0100
@@ -12,7 +12,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2008-2010 Openbravo SLU
+ * All portions are Copyright (C) 2008-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -26,7 +26,7 @@
<Sql>
select '' as ad_module_id, '' as name, '' as version, '' as type,
'' as ad_module_dependency_id, '' as ad_dependent_module_id, '' as
dependant_module_name, '' as startVersion, '' as endVersion,
- '' as dependency_enforcement, '' as user_editable_enforcement, '' as
instance_enforcement
+ '' as dependency_enforcement, '' as user_editable_enforcement, '' as
instance_enforcement, '' as installed
from dual
</Sql>
</SqlMethod>
@@ -34,11 +34,12 @@
<SqlMethod name="readModules" type="preparedStatement" return="multiple">
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits