details: https://code.openbravo.com/erp/devel/main/rev/b8191eee6b03 changeset: 20115:b8191eee6b03 user: Augusto Mauch <augusto.mauch <at> openbravo.com> date: Wed Apr 17 11:23:28 2013 +0200 summary: Fixes issue 23565: Checks if the session is null to prevent NPE
Before setting an attribute to the HTTP session, it must be checked that the session is not null to prevent a NullPointerException. details: https://code.openbravo.com/erp/devel/main/rev/ce76fa45acc0 changeset: 20116:ce76fa45acc0 user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Apr 17 10:39:04 2013 +0000 summary: Update AD_MODULE version to 3.0MP22.1 details: https://code.openbravo.com/erp/devel/main/rev/bea15e1decb2 changeset: 20117:bea15e1decb2 user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Apr 17 10:39:05 2013 +0000 summary: Added tag 3.0MP22.1 for changeset ce76fa45acc0 details: https://code.openbravo.com/erp/devel/main/rev/20260bd2bd0f changeset: 20118:20260bd2bd0f user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Apr 17 10:39:05 2013 +0000 summary: Added signature for changeset bea15e1decb2 details: https://code.openbravo.com/erp/devel/main/rev/10f545c4a4a6 changeset: 20119:10f545c4a4a6 user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Apr 17 18:05:05 2013 +0000 summary: Merge temporary head for 3.0MP22.1 diffstat: .hgsigs | 2 + .hgtags | 2 + modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 8 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java | 3 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/GlobalMenu.java | 289 ++++++ modules/org.openbravo.client.application/src/org/openbravo/client/application/HeartBeatPopupActionHandler.java | 3 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/LogOutActionHandler.java | 5 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/MenuManager.java | 439 +++------ modules/org.openbravo.client.application/src/org/openbravo/client/application/ParametersActionHandler.java | 3 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/StorePropertyActionHandler.java | 3 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/WindowSettingsActionHandler.java | 21 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/event/MenuCacheHandler.java | 104 ++ modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java | 3 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java | 5 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java | 7 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-grid.js | 33 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/calendar/ob-calendar.js | 8 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js | 12 + modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-fk.js | 7 + modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js | 12 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js | 7 + modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelServlet.java | 13 + modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.client.myob/src/org/openbravo/client/myob/MyOpenbravoActionHandler.java | 3 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MESSAGE.xml | 12 + modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.querylist/src/org/openbravo/client/querylist/QueryListDataSource.java | 34 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 10 +- modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java | 12 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java | 33 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/DataEntityQueryService.java | 28 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java | 2 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/JsonRestServlet.java | 8 + modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 12 +- modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/reference/SelectorUIReference.java | 11 +- modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js | 8 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 24 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml | 4 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 18 +- src-db/database/model/functions/AD_TAB_COPY.xml | 8 +- src-db/database/model/functions/AD_WINDOW_COPY.xml | 8 +- src-db/database/model/functions/GL_JOURNAL_POST.xml | 12 + src-db/database/model/prescript-PostgreSql.sql | 4 +- src-db/database/model/tables/AD_ALERT.xml | 3 + src-db/database/model/tables/AD_FIELDGROUP.xml | 5 + src-db/database/model/tables/AD_PROCESS_RUN.xml | 3 + src-db/database/model/tables/M_PRODUCT_UOM.xml | 3 + src-db/database/model/tables/M_STORAGE_DETAIL.xml | 3 + src-db/database/sourcedata/AD_COLUMN.xml | 68 + src-db/database/sourcedata/AD_ELEMENT.xml | 26 + src-db/database/sourcedata/AD_FIELD.xml | 60 +- src-db/database/sourcedata/AD_FIELDGROUP.xml | 2 + src-db/database/sourcedata/AD_MODULE.xml | 4 +- src-db/database/sourcedata/AD_TAB.xml | 46 +- src-db/database/sourcedata/AD_TEXTINTERFACES.xml | 11 - src-db/database/sourcedata/OBUISEL_SELECTOR.xml | 2 +- src/org/openbravo/base/structure/BaseOBObject.java | 20 +- src/org/openbravo/dal/core/OBContext.java | 7 + src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.html | 35 +- src/org/openbravo/erpCommon/ad_forms/InitialClientSetup.java | 8 +- src/org/openbravo/erpCommon/ad_process/assets/AssetLinearDepreciationMethodProcess.java | 21 +- src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports.java | 25 +- src/org/openbravo/erpCommon/ad_reports/GeneralAccountingReports_data.xsql | 43 + src/org/openbravo/erpCommon/utility/HttpsUtils.java | 2 +- src/org/openbravo/erpCommon/utility/Utility.java | 18 + src/org/openbravo/erpCommon/utility/WindowTree.java | 14 +- src/org/openbravo/erpCommon/utility/reporting/printing/PrintController.java | 25 +- src/org/openbravo/portal/PortalAccessible.java | 31 + src/org/openbravo/service/system/DatabaseValidator.java | 6 + src/org/openbravo/service/web/BaseWebServiceServlet.java | 7 + 103 files changed, 1330 insertions(+), 534 deletions(-) diffs (truncated from 4171 to 300 lines): diff -r 383173cf8e31 -r 10f545c4a4a6 .hgsigs --- a/.hgsigs Mon Apr 15 09:12:35 2013 +0000 +++ b/.hgsigs Wed Apr 17 18:05:05 2013 +0000 @@ -106,3 +106,5 @@ cd9fe4727ba89b6fc108d9e7e48cc222c24016e4 0 iEYEABECAAYFAlEkZrgACgkQCX/oGf+2qkNMEgCfVeNFe/nvgxNXwEUvbbIp6tqdAJ0AoK+83WD/fS6bRKK2xEgc5gwYlFJP 2eb40756a1ed20c690c9158cd84aa62ea34ac339 0 iEYEABECAAYFAlEjW+AACgkQCX/oGf+2qkNupQCgz0W/xoRPzBsfhdSFgcD+vJy9aPAAoNfJeFhJ+psPdkmsZmz8fYvRg8DT 1983af93019a75c0f0b130181b3ed8bb7d83bd8c 0 iEYEABECAAYFAlE42u0ACgkQCX/oGf+2qkNZQgCeKbV0dJ/m8Mcri1w7Xw3bB2dzAU0An02XW44EzaErkug0oKK6bkYmDmRA +d7e04c9b010fd0b52464f9b846278b415ff066cc 0 iEYEABECAAYFAlFrxIQACgkQCX/oGf+2qkPu7ACgofS8PV7CLsmpDNO8nNMkrs++JIcAoL69XxrlYHRfCM6aue8q5srbLm/R +bea15e1decb29501b4124110009787f2dca70cf9 0 iEYEABECAAYFAlFue8kACgkQCX/oGf+2qkMvfACgjbPubrgVAbVnotRRgGAgQancNqsAoMRke06L5J+RtPYdeU3wRSx2YNqt diff -r 383173cf8e31 -r 10f545c4a4a6 .hgtags --- a/.hgtags Mon Apr 15 09:12:35 2013 +0000 +++ b/.hgtags Wed Apr 17 18:05:05 2013 +0000 @@ -117,3 +117,5 @@ 42352a2a7b5be48801784583817c082e2ec11af2 3.0MP19.4 60f345bac02b65b2e09ad4e540c70875197ce76f 3.0MP20 79ef7f4b625d71d1c8a6520648e528f9a722ab60 3.0MP21 +383173cf8e316d135eb0d216ab091602955b1daf 3.0MP22 +ce76fa45acc0de59a2743e001aa3e00764b9b7b1 3.0MP22.1 diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Wed Apr 17 18:05:05 2013 +0000 @@ -6,7 +6,7 @@ <!--A918E3331C404B889D69AA9BFAFB23AC--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--A918E3331C404B889D69AA9BFAFB23AC--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--A918E3331C404B889D69AA9BFAFB23AC--> <NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></NAME> -<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION><![CDATA[3.0.20065]]></VERSION> +<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION><![CDATA[3.0.20113]]></VERSION> <!--A918E3331C404B889D69AA9BFAFB23AC--> <DESCRIPTION><![CDATA[Managing your finances with an ERP does not have to be difficult. Enjoy a radically improved user experience that combines the power of an enterprise grade financial application with the simplicity and ease of a web 2.0 personal accounting service.]]></DESCRIPTION> <!--A918E3331C404B889D69AA9BFAFB23AC--> <HELP><![CDATA[Advanced Payables and Receivables Management simplifies and automates the business processes around the management of financial accounts, from the receipt and issue of payment, to the reconciliation of those events with bank statements. If you would like to help shape this module you are welcome to take part in the forum discussions or register feature requests or issues in the corresponding (Forum and Bug Tracking) sections in the Advanced Payables and Receivable project in the OB Forge.]]></HELP> @@ -25,7 +25,7 @@ <!--A918E3331C404B889D69AA9BFAFB23AC--> <UPDATEINFO><![CDATA[Fixed issue with document sequence numbers reset in case of applying dataset second time. Fixed issue 15305.]]></UPDATEINFO> <!--A918E3331C404B889D69AA9BFAFB23AC--> <REFERENCEDATAINFO><![CDATA[Document types and default algorithm for bank statement auto matching]]></REFERENCEDATAINFO> -<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION_LABEL><![CDATA[MP22]]></VERSION_LABEL> +<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION_LABEL><![CDATA[CI]]></VERSION_LABEL> <!--A918E3331C404B889D69AA9BFAFB23AC--> <ISCOMMERCIAL><![CDATA[N]]></ISCOMMERCIAL> <!--A918E3331C404B889D69AA9BFAFB23AC--> <ISTRIALALLOWED><![CDATA[N]]></ISTRIALALLOWED> <!--A918E3331C404B889D69AA9BFAFB23AC--></AD_MODULE> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Apr 17 18:05:05 2013 +0000 @@ -7,7 +7,7 @@ <!--89326AE95DAD449D85DFAB2C5B1C6683--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID> -<!--89326AE95DAD449D85DFAB2C5B1C6683--> <STARTVERSION><![CDATA[2.1.20065]]></STARTVERSION> +<!--89326AE95DAD449D85DFAB2C5B1C6683--> <STARTVERSION><![CDATA[2.1.20113]]></STARTVERSION> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <DEPENDANT_MODULE_NAME><![CDATA[User Interface Selector]]></DEPENDANT_MODULE_NAME> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -21,7 +21,7 @@ <!--B97FC854C6DD41E692161585645A900F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--B97FC854C6DD41E692161585645A900F--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> <!--B97FC854C6DD41E692161585645A900F--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--B97FC854C6DD41E692161585645A900F--> <STARTVERSION><![CDATA[3.0.20065]]></STARTVERSION> +<!--B97FC854C6DD41E692161585645A900F--> <STARTVERSION><![CDATA[3.0.20113]]></STARTVERSION> <!--B97FC854C6DD41E692161585645A900F--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml Wed Apr 17 18:05:05 2013 +0000 @@ -6,7 +6,7 @@ <!--C70732EA90A14EC0916078B85CC33D2D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--C70732EA90A14EC0916078B85CC33D2D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--C70732EA90A14EC0916078B85CC33D2D--> <NAME><![CDATA[JBoss Weld]]></NAME> -<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION><![CDATA[1.1.20065]]></VERSION> +<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION><![CDATA[1.1.20113]]></VERSION> <!--C70732EA90A14EC0916078B85CC33D2D--> <DESCRIPTION><![CDATA[JBoss Weld]]></DESCRIPTION> <!--C70732EA90A14EC0916078B85CC33D2D--> <HELP><![CDATA[Provides the JBoss Weld framework: Java Contexts and Dependency Injection for the Java EE platform (CDI). For more information see http://seamframework.org/Weld]]></HELP> <!--C70732EA90A14EC0916078B85CC33D2D--> <URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL> @@ -22,7 +22,7 @@ <!--C70732EA90A14EC0916078B85CC33D2D--> <ISTRANSLATIONMODULE><![CDATA[N]]></ISTRANSLATIONMODULE> <!--C70732EA90A14EC0916078B85CC33D2D--> <HASREFERENCEDATA><![CDATA[N]]></HASREFERENCEDATA> <!--C70732EA90A14EC0916078B85CC33D2D--> <UPDATEINFO><![CDATA[Bug fixing.]]></UPDATEINFO> -<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION_LABEL><![CDATA[MP22]]></VERSION_LABEL> +<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION_LABEL><![CDATA[CI]]></VERSION_LABEL> <!--C70732EA90A14EC0916078B85CC33D2D--> <ISCOMMERCIAL><![CDATA[N]]></ISCOMMERCIAL> <!--C70732EA90A14EC0916078B85CC33D2D--> <ISTRIALALLOWED><![CDATA[N]]></ISTRIALALLOWED> <!--C70732EA90A14EC0916078B85CC33D2D--></AD_MODULE> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Apr 17 18:05:05 2013 +0000 @@ -7,7 +7,7 @@ <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <STARTVERSION><![CDATA[3.0.20065]]></STARTVERSION> +<!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <STARTVERSION><![CDATA[3.0.20113]]></STARTVERSION> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml --- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml Wed Apr 17 18:05:05 2013 +0000 @@ -622,7 +622,7 @@ <!--178D324AD10947149B7F79F140AA6832--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> <!--178D324AD10947149B7F79F140AA6832--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> <!--178D324AD10947149B7F79F140AA6832--> <ISKEY><![CDATA[N]]></ISKEY> -<!--178D324AD10947149B7F79F140AA6832--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--178D324AD10947149B7F79F140AA6832--> <ISPARENT><![CDATA[Y]]></ISPARENT> <!--178D324AD10947149B7F79F140AA6832--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> <!--178D324AD10947149B7F79F140AA6832--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> <!--178D324AD10947149B7F79F140AA6832--> <ISIDENTIFIER><![CDATA[Y]]></ISIDENTIFIER> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml Wed Apr 17 18:05:05 2013 +0000 @@ -6,7 +6,7 @@ <!--9BA0836A3CD74EE4AB48753A47211BCC--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <NAME><![CDATA[User Interface Application]]></NAME> -<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION><![CDATA[2.1.20065]]></VERSION> +<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION><![CDATA[2.1.20113]]></VERSION> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <DESCRIPTION><![CDATA[Provides the main application components for the openbravo user interface]]></DESCRIPTION> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <HELP><![CDATA[Provides the main application components for the openbravo user interface. The main layout incorporates a navigation bar and a main view area.]]></HELP> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL> @@ -22,7 +22,7 @@ <!--9BA0836A3CD74EE4AB48753A47211BCC--> <ISTRANSLATIONMODULE><![CDATA[N]]></ISTRANSLATIONMODULE> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <HASREFERENCEDATA><![CDATA[N]]></HASREFERENCEDATA> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <UPDATEINFO><![CDATA[Styling bugfixing]]></UPDATEINFO> -<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION_LABEL><![CDATA[MP22]]></VERSION_LABEL> +<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION_LABEL><![CDATA[CI]]></VERSION_LABEL> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <ISCOMMERCIAL><![CDATA[N]]></ISCOMMERCIAL> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <ISTRIALALLOWED><![CDATA[N]]></ISTRIALALLOWED> <!--9BA0836A3CD74EE4AB48753A47211BCC--></AD_MODULE> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Apr 17 18:05:05 2013 +0000 @@ -7,7 +7,7 @@ <!--15D7CE8D95D043189162DBABA54A1F61--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--15D7CE8D95D043189162DBABA54A1F61--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--15D7CE8D95D043189162DBABA54A1F61--> <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID> -<!--15D7CE8D95D043189162DBABA54A1F61--> <STARTVERSION><![CDATA[2.1.20065]]></STARTVERSION> +<!--15D7CE8D95D043189162DBABA54A1F61--> <STARTVERSION><![CDATA[2.1.20113]]></STARTVERSION> <!--15D7CE8D95D043189162DBABA54A1F61--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--15D7CE8D95D043189162DBABA54A1F61--> <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME> <!--15D7CE8D95D043189162DBABA54A1F61--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -21,7 +21,7 @@ <!--60A170212F36499D83B8AD38D01F46B3--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--60A170212F36499D83B8AD38D01F46B3--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--60A170212F36499D83B8AD38D01F46B3--> <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID> -<!--60A170212F36499D83B8AD38D01F46B3--> <STARTVERSION><![CDATA[2.1.20065]]></STARTVERSION> +<!--60A170212F36499D83B8AD38D01F46B3--> <STARTVERSION><![CDATA[2.1.20113]]></STARTVERSION> <!--60A170212F36499D83B8AD38D01F46B3--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--60A170212F36499D83B8AD38D01F46B3--> <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME> <!--60A170212F36499D83B8AD38D01F46B3--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -35,7 +35,7 @@ <!--824D60CB352E4099B1D8C903CA139DAE--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--824D60CB352E4099B1D8C903CA139DAE--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--824D60CB352E4099B1D8C903CA139DAE--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--824D60CB352E4099B1D8C903CA139DAE--> <STARTVERSION><![CDATA[3.0.20065]]></STARTVERSION> +<!--824D60CB352E4099B1D8C903CA139DAE--> <STARTVERSION><![CDATA[3.0.20113]]></STARTVERSION> <!--824D60CB352E4099B1D8C903CA139DAE--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--824D60CB352E4099B1D8C903CA139DAE--> <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME> <!--824D60CB352E4099B1D8C903CA139DAE--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -49,7 +49,7 @@ <!--E8FD820AFE3D4FE08C02FC47769026AD--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID> -<!--E8FD820AFE3D4FE08C02FC47769026AD--> <STARTVERSION><![CDATA[8.1.20065]]></STARTVERSION> +<!--E8FD820AFE3D4FE08C02FC47769026AD--> <STARTVERSION><![CDATA[8.1.20113]]></STARTVERSION> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java Mon Apr 15 09:12:35 2013 +0000 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/AlertActionHandler.java Wed Apr 17 18:05:05 2013 +0000 @@ -40,6 +40,7 @@ import org.openbravo.erpCommon.utility.UsedByLink; import org.openbravo.model.ad.alert.AlertRecipient; import org.openbravo.model.ad.alert.AlertRule; +import org.openbravo.portal.PortalAccessible; import org.openbravo.service.db.DalConnectionProvider; import org.openbravo.service.json.JsonConstants; @@ -52,7 +53,7 @@ * @see StaticResourceComponent */ @ApplicationScoped -public class AlertActionHandler extends BaseActionHandler { +public class AlertActionHandler extends BaseActionHandler implements PortalAccessible { private static final Logger log4j = Logger.getLogger(AlertActionHandler.class); /* diff -r 383173cf8e31 -r 10f545c4a4a6 modules/org.openbravo.client.application/src/org/openbravo/client/application/GlobalMenu.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/GlobalMenu.java Wed Apr 17 18:05:05 2013 +0000 @@ -0,0 +1,289 @@ +/* + ************************************************************************* + * 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) 2013 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ + +package org.openbravo.client.application; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.enterprise.context.ApplicationScoped; + +import org.hibernate.Query; +import org.hibernate.criterion.Restrictions; +import org.openbravo.client.application.MenuManager.MenuEntryType; +import org.openbravo.client.application.MenuManager.MenuOption; +import org.openbravo.dal.service.OBCriteria; +import org.openbravo.dal.service.OBDal; +import org.openbravo.model.ad.access.Role; +import org.openbravo.model.ad.domain.ModelImplementation; +import org.openbravo.model.ad.domain.ModelImplementationMapping; +import org.openbravo.model.ad.ui.Menu; +import org.openbravo.model.ad.ui.Process; +import org.openbravo.model.ad.ui.Tab; +import org.openbravo.model.ad.utility.Tree; +import org.openbravo.model.ad.utility.TreeNode; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * Caches in memory generic global menus per language and tree to be consumed by {@link MenuManager} + * + * @author alostale + * + */ +@ApplicationScoped +public class GlobalMenu { + private static final Logger log = LoggerFactory.getLogger(GlobalMenu.class); + + private Map<String, List<MenuOption>> menuOptionsByLangAndTree = null; + + private long cacheTimeStamp = 0; + + /** + * Returns the menu for current role's tree and language looking in the application scoped cached + * ones. If it is not present there, it is generated and cached. + * + */ + synchronized List<MenuOption> getMenuOptions(String roleId, String language) { + long t = System.currentTimeMillis(); + + if (menuOptionsByLangAndTree == null) { + invalidateCache(); + } + + Role role = OBDal.getInstance().get(Role.class, roleId); + final Tree tree; + if (role.getPrimaryTreeMenu() != null) { + tree = role.getPrimaryTreeMenu(); + } else { + tree = OBDal.getInstance().get(Tree.class, "10"); + } + + String menuKey = language + tree.getId(); + if (menuOptionsByLangAndTree.get(menuKey) == null) { + menuOptionsByLangAndTree.put(menuKey, createInitialMenuList(tree, language)); + log.info("Generating menu took " + (System.currentTimeMillis() - t)); + t = System.currentTimeMillis(); + } else { + log.debug("Using cached menu for tree and language"); + } + + ArrayList<MenuOption> newOptions = new ArrayList<MenuOption>(); + final Map<String, MenuOption> menuOptionsByMenuId = new HashMap<String, MenuOption>(); + for (MenuOption option : menuOptionsByLangAndTree.get(menuKey)) { + final MenuOption clonedMenuOption = new MenuOption(option); + + if (clonedMenuOption.getMenu() != null) { + menuOptionsByMenuId.put(clonedMenuOption.getMenu().getId(), clonedMenuOption); + } + newOptions.add(clonedMenuOption); + } + + // Tree is generated in the cloned instances to refer to itself and not to the pristine one + for (MenuOption menuOption : newOptions) { + menuOption.setParentMenuOption(menuOptionsByMenuId); + } + + log.debug("Getting a copy of globally cached menu took {} ms", System.currentTimeMillis()); + return newOptions; + } + ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits