Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0037943 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] A. Platform | minor | have not tried | 2018-02-15 18:55 | 2018-03-14 19:15 | |||
Reporter | caristu | View Status | public | |||||
Assigned To | jarmendariz | |||||||
Priority | high | Resolution | fixed | Fixed in Version | 3.0PR18Q2 | |||
Status | closed | Fix in branch | Fixed in SCM revision | d526512e5e96 | ||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | caristu | |||||||
Web browser | ||||||||
Modules | Core | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0037943: JDK 9: remove [deprecation] newInstance() in Class warnings | |||||||
Description | When building Openbravo with JDK 9, several "[deprecation] newInstance() in Class" warnings appears: warning: [deprecation] newInstance() in Class has been deprecated Besides, it seems that is not a recommended practice to make use of this method. So, these warnings should be fixed by retrieving the instance from a constructor object. See [1] and [2]. This is a safe change as Class.newInstance() is more limited than Constructor.newInstance(): the first one can only invoke the zero-argument constructor, while the second one may invoke any constructor. So, in order to fix this issue we have just to: a) Replace calls to Class.newInstance() with Constructor.newInstance() without using any argument. b) Catch the new exception types that are thrown by Constructor.newInstance(): InvocationTargetException and NoSuchMethodException. Both of these exception types are subclasses of ReflectiveOperationException. [1] https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html [^] [2] https://docs.oracle.com/javase/tutorial/reflect/member/ctorInstance.html [^] | |||||||
Steps To Reproduce | 1. Build Openbravo with Java 9 -> Check warnings | |||||||
Tags | Approved | |||||||
Attached Files | newInstanceRemovalFinal.diff [^] (9,921 bytes) 2018-02-26 18:22 [Show Content] [Hide Content]diff --git a/src-core/src/org/openbravo/base/HttpBaseServlet.java b/src-core/src/org/openbravo/base/HttpBaseServlet.java --- a/src-core/src/org/openbravo/base/HttpBaseServlet.java +++ b/src-core/src/org/openbravo/base/HttpBaseServlet.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2001-2016 Openbravo S.L.U. + * Copyright (C) 2001-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -645,7 +645,7 @@ parserClassName = "org.apache.xerces.parsers.SAXParser"; } try { - return (XMLReader) Class.forName(parserClassName).newInstance(); + return (XMLReader) Class.forName(parserClassName).getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ServletException(e); } diff --git a/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java b/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java --- a/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java +++ b/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2010-2016 Openbravo S.L.U. + * Copyright (C) 2010-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -86,7 +86,8 @@ try { Class<?> myClass = Class.forName(s); if (BuildValidation.class.isAssignableFrom(myClass)) { - BuildValidation instance = (BuildValidation) myClass.newInstance(); + BuildValidation instance = (BuildValidation) myClass.getDeclaredConstructor() + .newInstance(); instance.preExecute(modulesVersionMap); errors = instance.getErrors(); } diff --git a/src-core/src/org/openbravo/database/ExternalConnectionPool.java b/src-core/src/org/openbravo/database/ExternalConnectionPool.java --- a/src-core/src/org/openbravo/database/ExternalConnectionPool.java +++ b/src-core/src/org/openbravo/database/ExternalConnectionPool.java @@ -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) 2014-2016 Openbravo SLU + * All portions are Copyright (C) 2014-2018 Openbravo SLU * All Rights Reserved. ************************************************************************ */ @@ -39,16 +39,13 @@ * @param externalConnectionPoolClassName * The full class name of the external connection pool * @return An instance of the external connection pool - * @throws InstantiationException - * @throws IllegalAccessException - * @throws ClassNotFoundException + * @throws ReflectiveOperationException */ - public final synchronized static ExternalConnectionPool getInstance( - String externalConnectionPoolClassName) throws InstantiationException, - IllegalAccessException, ClassNotFoundException { + public static final synchronized ExternalConnectionPool getInstance( + String externalConnectionPoolClassName) throws ReflectiveOperationException { if (instance == null) { instance = (ExternalConnectionPool) Class.forName(externalConnectionPoolClassName) - .newInstance(); + .getDeclaredConstructor().newInstance(); } return instance; } diff --git a/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java b/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java --- a/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java +++ b/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2010-2015 Openbravo S.L.U. + * Copyright (C) 2010-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -60,7 +60,7 @@ try { Class<?> myClass = Class.forName(s); if (ModuleScript.class.isAssignableFrom(myClass)) { - ModuleScript instance = (ModuleScript) myClass.newInstance(); + ModuleScript instance = (ModuleScript) myClass.getDeclaredConstructor().newInstance(); instance.preExecute(getModulesVersionMap()); } } catch (Exception e) { diff --git a/src-wad/src/org/openbravo/wad/WadUtility.java b/src-wad/src/org/openbravo/wad/WadUtility.java --- a/src-wad/src/org/openbravo/wad/WadUtility.java +++ b/src-wad/src/org/openbravo/wad/WadUtility.java @@ -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) 2001-2017 Openbravo SLU + * All portions are Copyright (C) 2001-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -22,6 +22,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; +import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -442,7 +443,7 @@ } else { try { Class<?> c = Class.forName(classname); - control = (WADControl) c.newInstance(); + control = (WADControl) c.getDeclaredConstructor().newInstance(); control.setReference(parentRef); control.setSubreference(subRef); } catch (ClassNotFoundException ex) { @@ -455,6 +456,12 @@ } catch (IllegalAccessException e) { log4j.warn("Illegal access class: " + classname); control = new WADControl(); + } catch (InvocationTargetException e) { + log4j.warn("Exception thrown by default constructor of class: " + classname); + control = new WADControl(); + } catch (NoSuchMethodException e) { + log4j.warn("Could not find a default constructor for class: " + classname); + control = new WADControl(); } } return control; diff --git a/src/org/openbravo/base/model/ModelProvider.java b/src/org/openbravo/base/model/ModelProvider.java --- a/src/org/openbravo/base/model/ModelProvider.java +++ b/src/org/openbravo/base/model/ModelProvider.java @@ -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-2016 Openbravo SLU + * All portions are Copyright (C) 2008-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -374,7 +374,8 @@ String classname = rs.getString(1); Class<?> myClass = Class.forName(classname); if (org.openbravo.base.model.domaintype.BaseDomainType.class.isAssignableFrom(myClass)) { - BaseDomainType classInstance = (BaseDomainType) myClass.newInstance(); + BaseDomainType classInstance = (BaseDomainType) myClass.getDeclaredConstructor() + .newInstance(); for (Class<?> aClass : classInstance.getClasses()) { sessionFactoryController.addAdditionalClasses(aClass); } diff --git a/src/org/openbravo/base/model/Reference.java b/src/org/openbravo/base/model/Reference.java --- a/src/org/openbravo/base/model/Reference.java +++ b/src/org/openbravo/base/model/Reference.java @@ -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-2011 Openbravo SLU + * All portions are Copyright (C) 2008-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -135,7 +135,7 @@ } try { final Class<?> clz = OBClassLoader.getInstance().loadClass(modelImplementationClass); - domainType = (DomainType) clz.newInstance(); + domainType = (DomainType) clz.getDeclaredConstructor().newInstance(); domainType.setReference(this); } catch (Exception e) { throw new OBException("Not able to create domain type " + getModelImpl() + " for reference " diff --git a/src/org/openbravo/base/provider/OBProvider.java b/src/org/openbravo/base/provider/OBProvider.java --- a/src/org/openbravo/base/provider/OBProvider.java +++ b/src/org/openbravo/base/provider/OBProvider.java @@ -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-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -241,7 +241,7 @@ // instantiate the class try { - final Object value = instanceClass.newInstance(); + final Object value = instanceClass.getDeclaredConstructor().newInstance(); if (singleton) { theInstance = value; } new-instance.patch [^] (57,381 bytes) 2018-03-07 13:53 [Show Content] [Hide Content] # HG changeset patch # User Javier Armendáriz <javier.armendariz@openbravo.com> # Date 1520427122 -3600 # Wed Mar 07 13:52:02 2018 +0100 # Node ID 58234f2fc569438d4d682daf2deef18629895919 # Parent 47941073c4da09c262f06f546bc6c41307262184 Fixed issue 37943: Removed newInstance() deprecation warnings. diff --git a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ImportBankFile.java b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ImportBankFile.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ImportBankFile.java +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ImportBankFile.java @@ -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) 2010-2011 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -67,7 +67,8 @@ BankFileFormat bff = OBDal.getInstance().get(BankFileFormat.class, strBankFileFormat); FIN_BankStatementImport bsi = null; try { - bsi = (FIN_BankStatementImport) Class.forName(bff.getJavaClassName()).newInstance(); + bsi = (FIN_BankStatementImport) Class.forName(bff.getJavaClassName()) + .getDeclaredConstructor().newInstance(); } catch (Exception e) { log4j.error("Error while creating new instance for FIN_BankStatementImport - " + e, e); } diff --git a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java @@ -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) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -88,14 +88,16 @@ else if ("CONSTANT".equals(parameter.getParameterType())) dao.getNewPaymentRunParameter(paymentRun, parameter, parameter.getDefaultTextValue()); try { - this.paymentExecutionProcess = (FIN_PaymentExecutionProcess) Class.forName( - executionProcess.getJavaClassName()).newInstance(); + this.paymentExecutionProcess = (FIN_PaymentExecutionProcess) Class + .forName(executionProcess.getJavaClassName()).getDeclaredConstructor().newInstance(); } catch (InstantiationException e) { throw new NoExecutionProcessFoundException(e); } catch (IllegalAccessException e) { throw new NoExecutionProcessFoundException(e); } catch (ClassNotFoundException e) { throw new NoExecutionProcessFoundException(e); + } catch (ReflectiveOperationException e) { + throw new NoExecutionProcessFoundException(e); } } diff --git a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java @@ -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) 2010-2011 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -33,7 +33,8 @@ public FIN_MatchingTransaction(String _algorithm) throws NoAlgorithmFoundException { try { if (_algorithm != null && !_algorithm.equals("")) - this.algorithm = (FIN_MatchingAlgorithm) Class.forName(_algorithm).newInstance(); + this.algorithm = (FIN_MatchingAlgorithm) Class.forName(_algorithm).getDeclaredConstructor() + .newInstance(); else throw new NoAlgorithmFoundException( "No algorithm has been defined to match bank statement lines"); @@ -43,6 +44,8 @@ throw new NoAlgorithmFoundException(e); } catch (ClassNotFoundException e) { throw new NoAlgorithmFoundException(e); + } catch (ReflectiveOperationException e) { + throw new NoAlgorithmFoundException(e); } } diff --git a/modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java b/modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java @@ -280,7 +280,8 @@ .forName(className)); } catch (IllegalArgumentException e) { // try with OBClassLoader in case package is excluded by Weld - expr = (FilterExpression) OBClassLoader.getInstance().loadClass(className).newInstance(); + expr = (FilterExpression) OBClassLoader.getInstance().loadClass(className) + .getDeclaredConstructor().newInstance(); } return expr.getExpression(requestMap); } catch (Exception e) { diff --git a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java @@ -1484,7 +1484,7 @@ calloutObject = calloutInstances.get(calloutClassName); isCalloutInitialized = true; } else { - calloutObject = calloutClass.newInstance(); + calloutObject = calloutClass.getDeclaredConstructor().newInstance(); calloutInstances.put(calloutClassName, calloutObject); } diff --git a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinitionController.java b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinitionController.java --- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinitionController.java +++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinitionController.java @@ -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) 2009-2016 Openbravo SLU + * All portions are Copyright (C) 2009-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -184,7 +184,7 @@ if (uiDefinition.isActive()) { final Class<?> clz = OBClassLoader.getInstance().loadClass( uiDefinition.getImplementationClassname()); - return (UIDefinition) clz.newInstance(); + return (UIDefinition) clz.getDeclaredConstructor().newInstance(); } } } @@ -194,7 +194,7 @@ } // the default log.warn("No user interface definition found for reference " + reference); - return StringUIDefinition.class.newInstance(); + return StringUIDefinition.class.getDeclaredConstructor().newInstance(); } private synchronized Map<String, FormatDefinition> setInitializeComputeFormatDefinitions() { diff --git a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java --- a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java +++ b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java @@ -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) 2010-2015 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -204,7 +204,7 @@ private static DomainType getDomainType(Reference reference) { try { final Class<?> clz = OBClassLoader.getInstance().loadClass(reference.getModelImpl()); - final DomainType domainType = (DomainType) clz.newInstance(); + final DomainType domainType = (DomainType) clz.getDeclaredConstructor().newInstance(); // can't be set // note for our purpose this not need to be set // domainType.setReference(reference); diff --git a/src-core/src/org/openbravo/base/HttpBaseServlet.java b/src-core/src/org/openbravo/base/HttpBaseServlet.java --- a/src-core/src/org/openbravo/base/HttpBaseServlet.java +++ b/src-core/src/org/openbravo/base/HttpBaseServlet.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2001-2016 Openbravo S.L.U. + * Copyright (C) 2001-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -645,7 +645,7 @@ parserClassName = "org.apache.xerces.parsers.SAXParser"; } try { - return (XMLReader) Class.forName(parserClassName).newInstance(); + return (XMLReader) Class.forName(parserClassName).getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ServletException(e); } diff --git a/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java b/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java --- a/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java +++ b/src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2010-2016 Openbravo S.L.U. + * Copyright (C) 2010-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -86,7 +86,8 @@ try { Class<?> myClass = Class.forName(s); if (BuildValidation.class.isAssignableFrom(myClass)) { - BuildValidation instance = (BuildValidation) myClass.newInstance(); + BuildValidation instance = (BuildValidation) myClass.getDeclaredConstructor() + .newInstance(); instance.preExecute(modulesVersionMap); errors = instance.getErrors(); } diff --git a/src-core/src/org/openbravo/database/ExternalConnectionPool.java b/src-core/src/org/openbravo/database/ExternalConnectionPool.java --- a/src-core/src/org/openbravo/database/ExternalConnectionPool.java +++ b/src-core/src/org/openbravo/database/ExternalConnectionPool.java @@ -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) 2014-2016 Openbravo SLU + * All portions are Copyright (C) 2014-2018 Openbravo SLU * All Rights Reserved. ************************************************************************ */ @@ -39,16 +39,13 @@ * @param externalConnectionPoolClassName * The full class name of the external connection pool * @return An instance of the external connection pool - * @throws InstantiationException - * @throws IllegalAccessException - * @throws ClassNotFoundException + * @throws ReflectiveOperationException */ - public final synchronized static ExternalConnectionPool getInstance( - String externalConnectionPoolClassName) throws InstantiationException, - IllegalAccessException, ClassNotFoundException { + public static final synchronized ExternalConnectionPool getInstance( + String externalConnectionPoolClassName) throws ReflectiveOperationException { if (instance == null) { instance = (ExternalConnectionPool) Class.forName(externalConnectionPoolClassName) - .newInstance(); + .getDeclaredConstructor().newInstance(); } return instance; } diff --git a/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java b/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java --- a/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java +++ b/src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2010-2015 Openbravo S.L.U. + * Copyright (C) 2010-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -60,7 +60,7 @@ try { Class<?> myClass = Class.forName(s); if (ModuleScript.class.isAssignableFrom(myClass)) { - ModuleScript instance = (ModuleScript) myClass.newInstance(); + ModuleScript instance = (ModuleScript) myClass.getDeclaredConstructor().newInstance(); instance.preExecute(getModulesVersionMap()); } } catch (Exception e) { diff --git a/src-wad/src/org/openbravo/wad/WadUtility.java b/src-wad/src/org/openbravo/wad/WadUtility.java --- a/src-wad/src/org/openbravo/wad/WadUtility.java +++ b/src-wad/src/org/openbravo/wad/WadUtility.java @@ -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) 2001-2017 Openbravo SLU + * All portions are Copyright (C) 2001-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -22,6 +22,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; +import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -442,7 +443,7 @@ } else { try { Class<?> c = Class.forName(classname); - control = (WADControl) c.newInstance(); + control = (WADControl) c.getDeclaredConstructor().newInstance(); control.setReference(parentRef); control.setSubreference(subRef); } catch (ClassNotFoundException ex) { @@ -455,6 +456,12 @@ } catch (IllegalAccessException e) { log4j.warn("Illegal access class: " + classname); control = new WADControl(); + } catch (InvocationTargetException e) { + log4j.warn("Exception thrown by default constructor of class: " + classname); + control = new WADControl(); + } catch (NoSuchMethodException e) { + log4j.warn("Could not find a default constructor for class: " + classname); + control = new WADControl(); } } return control; diff --git a/src/org/openbravo/authentication/AuthenticationManager.java b/src/org/openbravo/authentication/AuthenticationManager.java --- a/src/org/openbravo/authentication/AuthenticationManager.java +++ b/src/org/openbravo/authentication/AuthenticationManager.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2001-2017 Openbravo S.L.U. + * Copyright (C) 2001-2018 Openbravo S.L.U. * Licensed under the Apache Software License version 2.0 * 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 @@ -112,7 +112,7 @@ } try { authManager = (AuthenticationManager) OBClassLoader.getInstance().loadClass(authClass) - .newInstance(); + .getDeclaredConstructor().newInstance(); authManager.init(s); } catch (Exception e) { log4j diff --git a/src/org/openbravo/base/model/ModelProvider.java b/src/org/openbravo/base/model/ModelProvider.java --- a/src/org/openbravo/base/model/ModelProvider.java +++ b/src/org/openbravo/base/model/ModelProvider.java @@ -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-2016 Openbravo SLU + * All portions are Copyright (C) 2008-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -374,7 +374,8 @@ String classname = rs.getString(1); Class<?> myClass = Class.forName(classname); if (org.openbravo.base.model.domaintype.BaseDomainType.class.isAssignableFrom(myClass)) { - BaseDomainType classInstance = (BaseDomainType) myClass.newInstance(); + BaseDomainType classInstance = (BaseDomainType) myClass.getDeclaredConstructor() + .newInstance(); for (Class<?> aClass : classInstance.getClasses()) { sessionFactoryController.addAdditionalClasses(aClass); } diff --git a/src/org/openbravo/base/model/Reference.java b/src/org/openbravo/base/model/Reference.java --- a/src/org/openbravo/base/model/Reference.java +++ b/src/org/openbravo/base/model/Reference.java @@ -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-2011 Openbravo SLU + * All portions are Copyright (C) 2008-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -135,7 +135,7 @@ } try { final Class<?> clz = OBClassLoader.getInstance().loadClass(modelImplementationClass); - domainType = (DomainType) clz.newInstance(); + domainType = (DomainType) clz.getDeclaredConstructor().newInstance(); domainType.setReference(this); } catch (Exception e) { throw new OBException("Not able to create domain type " + getModelImpl() + " for reference " diff --git a/src/org/openbravo/base/provider/OBProvider.java b/src/org/openbravo/base/provider/OBProvider.java --- a/src/org/openbravo/base/provider/OBProvider.java +++ b/src/org/openbravo/base/provider/OBProvider.java @@ -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-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -241,7 +241,7 @@ // instantiate the class try { - final Object value = instanceClass.newInstance(); + final Object value = instanceClass.getDeclaredConstructor().newInstance(); if (singleton) { theInstance = value; } diff --git a/src/org/openbravo/costing/CostingServer.java b/src/org/openbravo/costing/CostingServer.java --- a/src/org/openbravo/costing/CostingServer.java +++ b/src/org/openbravo/costing/CostingServer.java @@ -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) 2012-2017 Openbravo SLU + * All portions are Copyright (C) 2012-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -497,7 +497,7 @@ try { final Class<?> clz = OBClassLoader.getInstance().loadClass(costAlgorithm.getJavaClassName()); - CostingAlgorithm algorithm = (CostingAlgorithm) clz.newInstance(); + CostingAlgorithm algorithm = (CostingAlgorithm) clz.getDeclaredConstructor().newInstance(); algorithm.init(this); return algorithm; } catch (Exception e) { diff --git a/src/org/openbravo/erpCommon/ad_forms/AcctServer.java b/src/org/openbravo/erpCommon/ad_forms/AcctServer.java --- a/src/org/openbravo/erpCommon/ad_forms/AcctServer.java +++ b/src/org/openbravo/erpCommon/ad_forms/AcctServer.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -611,7 +611,8 @@ if (acctinfo != null && acctinfo.length != 0) { if (!acctinfo[0].acctclassname.equals("") && !acctinfo[0].acctdatecolumn.equals("")) { try { - acct = (AcctServer) Class.forName(acctinfo[0].acctclassname).newInstance(); + acct = (AcctServer) Class.forName(acctinfo[0].acctclassname).getDeclaredConstructor() + .newInstance(); acct.set(AD_Table_ID, AD_Client_ID, AD_Org_ID, connectionProvider, acctinfo[0].tablename, acctinfo[0].acctdatecolumn); acct.reloadAcctSchemaArray(); @@ -1172,7 +1173,7 @@ if (!strClassname.equals("")) { try { AcctProcessTemplate newTemplate = (AcctProcessTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); if (!newTemplate.execute(this, as, conn, con, vars)) { OBDal.getInstance().rollbackAndClose(); return getStatus(); @@ -2543,8 +2544,8 @@ amtDiff = amtDiff.add(calculateMultipleRatesDifferences(_amount, currencyIDFrom, currencyIDTo, line, conn)); Currency currencyTo = OBDal.getInstance().get(Currency.class, currencyIDTo); - amtDiff = amtDiff.setScale(currencyTo.getStandardPrecision().intValue(), - RoundingMode.HALF_EVEN); + amtDiff = amtDiff + .setScale(currencyTo.getStandardPrecision().intValue(), RoundingMode.HALF_EVEN); if (bookDifferences) { if ((!isReceipt && amtDiff.compareTo(BigDecimal.ZERO) == 1) || (isReceipt && amtDiff.compareTo(BigDecimal.ZERO) == -1)) { diff --git a/src/org/openbravo/erpCommon/ad_forms/DocAmortization.java b/src/org/openbravo/erpCommon/ad_forms/DocAmortization.java --- a/src/org/openbravo/erpCommon/ad_forms/DocAmortization.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocAmortization.java @@ -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) 2001-2010 Openbravo SLU + * All portions are Copyright (C) 2001-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -184,7 +184,7 @@ if (!strClassname.equals("")) { try { DocAmortizationTemplate newTemplate = (DocAmortizationTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocAmortizationTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocBank.java b/src/org/openbravo/erpCommon/ad_forms/DocBank.java --- a/src/org/openbravo/erpCommon/ad_forms/DocBank.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocBank.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2010 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -220,7 +220,8 @@ strClassname = AcctServerData.selectTemplate(conn, as.m_C_AcctSchema_ID, AD_Table_ID); if (!strClassname.equals("")) { try { - DocBankTemplate newTemplate = (DocBankTemplate) Class.forName(strClassname).newInstance(); + DocBankTemplate newTemplate = (DocBankTemplate) Class.forName(strClassname) + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocBankTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocCash.java b/src/org/openbravo/erpCommon/ad_forms/DocCash.java --- a/src/org/openbravo/erpCommon/ad_forms/DocCash.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocCash.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2010 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -237,7 +237,8 @@ strClassname = AcctServerData.selectTemplate(conn, as.m_C_AcctSchema_ID, AD_Table_ID); if (!strClassname.equals("")) { try { - DocCashTemplate newTemplate = (DocCashTemplate) Class.forName(strClassname).newInstance(); + DocCashTemplate newTemplate = (DocCashTemplate) Class.forName(strClassname) + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocCashTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocCostAdjustment.java b/src/org/openbravo/erpCommon/ad_forms/DocCostAdjustment.java --- a/src/org/openbravo/erpCommon/ad_forms/DocCostAdjustment.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocCostAdjustment.java @@ -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) 2014-2015 Openbravo SLU + * All portions are Copyright (C) 2014-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -54,8 +54,8 @@ super(AD_Client_ID, AD_Org_ID, connectionProvider); } - public void loadObjectFieldProvider(ConnectionProvider conn, @SuppressWarnings("hiding") - String AD_Client_ID, String Id) throws ServletException { + public void loadObjectFieldProvider(ConnectionProvider conn, + @SuppressWarnings("hiding") String AD_Client_ID, String Id) throws ServletException { setObjectFieldProvider(DocCostAdjustmentData.selectRegistro(conn, AD_Client_ID, Id)); } @@ -151,8 +151,8 @@ strClassname = AcctServerData.selectTemplate(conn, as.m_C_AcctSchema_ID, AD_Table_ID); } else { try { - DocCostAdjustmentTemplate newTemplate = (DocCostAdjustmentTemplate) Class.forName( - strClassname).newInstance(); + DocCostAdjustmentTemplate newTemplate = (DocCostAdjustmentTemplate) Class + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocCostAdjustmentTemplate - ", e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocDPManagement.java b/src/org/openbravo/erpCommon/ad_forms/DocDPManagement.java --- a/src/org/openbravo/erpCommon/ad_forms/DocDPManagement.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocDPManagement.java @@ -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) 2001-2010 Openbravo SLU + * All portions are Copyright (C) 2001-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -171,7 +171,7 @@ if (!strClassname.equals("")) { try { DocDPManagementTemplate newTemplate = (DocDPManagementTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { docDPManagementLog4j diff --git a/src/org/openbravo/erpCommon/ad_forms/DocDoubtfulDebt.java b/src/org/openbravo/erpCommon/ad_forms/DocDoubtfulDebt.java --- a/src/org/openbravo/erpCommon/ad_forms/DocDoubtfulDebt.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocDoubtfulDebt.java @@ -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) 2013-2014 Openbravo SLU + * All portions are Copyright (C) 2013-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -147,8 +147,8 @@ } if (!strClassname.equals("")) { try { - DocDoubtfulDebtTemplate newTemplate = (DocDoubtfulDebtTemplate) Class.forName( - strClassname).newInstance(); + DocDoubtfulDebtTemplate newTemplate = (DocDoubtfulDebtTemplate) Class + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocUnbilledRevenueTemplate - ", e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java b/src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java @@ -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) 2010-2014 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -116,8 +116,8 @@ } if (!strClassname.equals("")) { try { - DocFINBankStatementTemplate newTemplate = (DocFINBankStatementTemplate) Class.forName( - strClassname).newInstance(); + DocFINBankStatementTemplate newTemplate = (DocFINBankStatementTemplate) Class + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocFINBankStatementTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java @@ -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) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -454,7 +454,7 @@ if (!strClassname.equals("")) { try { DocFINFinAccTransactionTemplate newTemplate = (DocFINFinAccTransactionTemplate) Class - .forName(strClassname).newInstance(); + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { docFINFinAccTransactionLog4j diff --git a/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java b/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java @@ -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) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -368,7 +368,7 @@ if (!strClassname.equals("")) { try { DocFINPaymentTemplate newTemplate = (DocFINPaymentTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { docFINPaymentLog4j.error( diff --git a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java @@ -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) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -585,8 +585,8 @@ } if (!strClassname.equals("")) { try { - DocFINReconciliationTemplate newTemplate = (DocFINReconciliationTemplate) Class.forName( - strClassname).newInstance(); + DocFINReconciliationTemplate newTemplate = (DocFINReconciliationTemplate) Class + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { docFINReconciliationLog4j diff --git a/src/org/openbravo/erpCommon/ad_forms/DocGLJournal.java b/src/org/openbravo/erpCommon/ad_forms/DocGLJournal.java --- a/src/org/openbravo/erpCommon/ad_forms/DocGLJournal.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocGLJournal.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -170,7 +170,7 @@ if (!strClassname.equals("")) { try { DocGLJournalTemplate newTemplate = (DocGLJournalTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocGLJournalTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocInOut.java b/src/org/openbravo/erpCommon/ad_forms/DocInOut.java --- a/src/org/openbravo/erpCommon/ad_forms/DocInOut.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocInOut.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -171,7 +171,8 @@ strClassname = AcctServerData.selectTemplate(conn, as.m_C_AcctSchema_ID, AD_Table_ID); if (!strClassname.equals("")) { try { - DocInOutTemplate newTemplate = (DocInOutTemplate) Class.forName(strClassname).newInstance(); + DocInOutTemplate newTemplate = (DocInOutTemplate) Class.forName(strClassname) + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocInOutTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocInternalConsumption.java b/src/org/openbravo/erpCommon/ad_forms/DocInternalConsumption.java --- a/src/org/openbravo/erpCommon/ad_forms/DocInternalConsumption.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocInternalConsumption.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2014 Openbravo S.L.U. + * Contributions are Copyright (C) 2014-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -162,7 +162,7 @@ } else { try { DocInternalConsumptionTemplate newTemplate = (DocInternalConsumptionTemplate) Class - .forName(strClassname).newInstance(); + .forName(strClassname).getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocInternalConsumptionTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocInventory.java b/src/org/openbravo/erpCommon/ad_forms/DocInventory.java --- a/src/org/openbravo/erpCommon/ad_forms/DocInventory.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocInventory.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2016 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -159,7 +159,7 @@ if (!strClassname.equals("")) { try { DocInventoryTemplate newTemplate = (DocInventoryTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocInventoryTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java b/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java --- a/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -142,8 +142,8 @@ // Accruals & Deferrals for revenue products docLine.setIsDeferred("Y".equals(data[i].isdeferred)); docLine.setDefPlanType(data[i].defplantype); - docLine.setPeriodNumber(!"".equals(data[i].periodnumber) ? Integer.parseInt(data[i].periodnumber) - : 0); + docLine.setPeriodNumber(!"".equals(data[i].periodnumber) ? Integer + .parseInt(data[i].periodnumber) : 0); docLine.setStartingPeriodId(data[i].cPeriodId); list.add(docLine); @@ -302,7 +302,7 @@ if (!strClassname.equals("")) { try { DocInvoiceTemplate newTemplate = (DocInvoiceTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocInvoiceTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocLCCost.java b/src/org/openbravo/erpCommon/ad_forms/DocLCCost.java --- a/src/org/openbravo/erpCommon/ad_forms/DocLCCost.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocLCCost.java @@ -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) 2014-2015 Openbravo SLU + * All portions are Copyright (C) 2014-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -60,8 +60,8 @@ super(AD_Client_ID, AD_Org_ID, connectionProvider); } - public void loadObjectFieldProvider(ConnectionProvider conn, @SuppressWarnings("hiding") - String AD_Client_ID, String Id) throws ServletException { + public void loadObjectFieldProvider(ConnectionProvider conn, + @SuppressWarnings("hiding") String AD_Client_ID, String Id) throws ServletException { setObjectFieldProvider(DocLCCostData.selectRegistro(conn, AD_Client_ID, Id)); } @@ -167,7 +167,7 @@ if (!strClassname.equals("")) { try { DocLCCostTemplate newTemplate = (DocLCCostTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocLCCostTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocLandedCost.java b/src/org/openbravo/erpCommon/ad_forms/DocLandedCost.java --- a/src/org/openbravo/erpCommon/ad_forms/DocLandedCost.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocLandedCost.java @@ -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) 2014-2015 Openbravo SLU + * All portions are Copyright (C) 2014-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -55,8 +55,8 @@ super(AD_Client_ID, AD_Org_ID, connectionProvider); } - public void loadObjectFieldProvider(ConnectionProvider conn, @SuppressWarnings("hiding") - String AD_Client_ID, String Id) throws ServletException { + public void loadObjectFieldProvider(ConnectionProvider conn, + @SuppressWarnings("hiding") String AD_Client_ID, String Id) throws ServletException { setObjectFieldProvider(DocLandedCostData.selectRegistro(conn, AD_Client_ID, Id)); } @@ -159,7 +159,7 @@ if (!strClassname.equals("")) { try { DocLandedCostTemplate newTemplate = (DocLandedCostTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocLandedCostTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java b/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java --- a/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -66,8 +66,8 @@ super(AD_Client_ID, AD_Org_ID, connectionProvider); } - public void loadObjectFieldProvider(ConnectionProvider conn, @SuppressWarnings("hiding") - String AD_Client_ID, String Id) throws ServletException { + public void loadObjectFieldProvider(ConnectionProvider conn, + @SuppressWarnings("hiding") String AD_Client_ID, String Id) throws ServletException { setObjectFieldProvider(DocMatchInvData.selectRegistro(conn, AD_Client_ID, Id)); } @@ -206,7 +206,7 @@ if (!strClassname.equals("")) { try { DocMatchInvTemplate newTemplate = (DocMatchInvTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocMatchInvTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocMovement.java b/src/org/openbravo/erpCommon/ad_forms/DocMovement.java --- a/src/org/openbravo/erpCommon/ad_forms/DocMovement.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocMovement.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2017 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -152,7 +152,7 @@ if (!strClassname.equals("")) { try { DocMovementTemplate newTemplate = (DocMovementTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocInvoiceTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocOrder.java b/src/org/openbravo/erpCommon/ad_forms/DocOrder.java --- a/src/org/openbravo/erpCommon/ad_forms/DocOrder.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocOrder.java @@ -11,7 +11,7 @@ * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2010 Openbravo S.L.U. + * Contributions are Copyright (C) 2001-2018 Openbravo S.L.U. ****************************************************************************** */ package org.openbravo.erpCommon.ad_forms; @@ -196,7 +196,8 @@ strClassname = AcctServerData.selectTemplate(conn, as.m_C_AcctSchema_ID, AD_Table_ID); if (!strClassname.equals("")) { try { - DocOrderTemplate newTemplate = (DocOrderTemplate) Class.forName(strClassname).newInstance(); + DocOrderTemplate newTemplate = (DocOrderTemplate) Class.forName(strClassname) + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4j.error("Error while creating new instance for DocOrderTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocPayment.java b/src/org/openbravo/erpCommon/ad_forms/DocPayment.java --- a/src/org/openbravo/erpCommon/ad_forms/DocPayment.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocPayment.java @@ -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) 2001-2010 Openbravo SLU + * All portions are Copyright (C) 2001-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -163,7 +163,7 @@ if (!strClassname.equals("")) { try { DocPaymentTemplate newTemplate = (DocPaymentTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { docPaymentLog4j.error("Error while creating new instance for DocPaymentTemplate - " + e); diff --git a/src/org/openbravo/erpCommon/ad_forms/DocProduction.java b/src/org/openbravo/erpCommon/ad_forms/DocProduction.java --- a/src/org/openbravo/erpCommon/ad_forms/DocProduction.java +++ b/src/org/openbravo/erpCommon/ad_forms/DocProduction.java @@ -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-2015 Openbravo SLU + * All portions are Copyright (C) 2008-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -155,7 +155,7 @@ if (!strClassname.equals("")) { try { DocProductionTemplate newTemplate = (DocProductionTemplate) Class.forName(strClassname) - .newInstance(); + .getDeclaredConstructor().newInstance(); return newTemplate.createFact(this, as, conn, con, vars); } catch (Exception e) { log4jDocProduction.error("Error while creating new instance for DocProductionTemplate - " diff --git a/src/org/openbravo/erpCommon/utility/GenericTreeServlet.java b/src/org/openbravo/erpCommon/utility/GenericTreeServlet.java --- a/src/org/openbravo/erpCommon/utility/GenericTreeServlet.java +++ b/src/org/openbravo/erpCommon/utility/GenericTreeServlet.java @@ -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-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -86,7 +86,8 @@ String htmlTree = ""; try { String newLevel = Integer.valueOf(Integer.valueOf(level).intValue() + 1).toString(); - GenericTree tree = (GenericTree) Class.forName(treeClass).newInstance(); + GenericTree tree = (GenericTree) Class.forName(treeClass).getDeclaredConstructor() + .newInstance(); tree.setParameters(this); tree.setLanguage(vars.getLanguage()); tree.setSubTree(strNodeId, newLevel); @@ -120,7 +121,8 @@ PrintWriter out = response.getWriter(); try { - GenericTree tree = (GenericTree) Class.forName(treeClass).newInstance(); + GenericTree tree = (GenericTree) Class.forName(treeClass).getDeclaredConstructor() + .newInstance(); tree.setParameters(this); tree.setLanguage(vars.getLanguage()); description = tree.getHTMLDescription(strNodeId); diff --git a/src/org/openbravo/erpCommon/utility/OBMessageUtils.java b/src/org/openbravo/erpCommon/utility/OBMessageUtils.java --- a/src/org/openbravo/erpCommon/utility/OBMessageUtils.java +++ b/src/org/openbravo/erpCommon/utility/OBMessageUtils.java @@ -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) 2012-2017 Openbravo SLU + * All portions are Copyright (C) 2012-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -159,13 +159,13 @@ /** * - * Formats a message String into a String for html presentation. Escapes the &, <, >, " and ®, and - * replace the \n by <br/> + * Formats a message String into a String for html presentation. Escapes the &, <, >, " + * and ®, and replace the \n by <br/> * and \r for space. * * IMPORTANT! : this method is designed to transform the output of Utility.messageBD method, and - * this method replaces \n by \\n and \" by &quote. Because of that, the first replacements revert - * this previous replacements. + * this method replaces \n by \\n and \" by &quote. Because of that, the first replacements + * revert this previous replacements. * * @param message * message with java formating @@ -429,7 +429,7 @@ try { final Class<?> c = Class.forName("org.openbravo.erpCommon.utility.ErrorTextParser" + rdbms.toUpperCase()); - myParser = (ErrorTextParser) c.newInstance(); + myParser = (ErrorTextParser) c.getDeclaredConstructor().newInstance(); } catch (final ClassNotFoundException ex) { log4j.warn("Couldn´t find class: org.openbravo.erpCommon.utility.ErrorTextParser" + rdbms.toUpperCase()); diff --git a/src/org/openbravo/scheduling/DefaultJob.java b/src/org/openbravo/scheduling/DefaultJob.java --- a/src/org/openbravo/scheduling/DefaultJob.java +++ b/src/org/openbravo/scheduling/DefaultJob.java @@ -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) 2009-2017 Openbravo SLU + * All portions are Copyright (C) 2009-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -48,7 +48,7 @@ public void execute(JobExecutionContext jec) throws JobExecutionException { bundle = (ProcessBundle) jec.getMergedJobDataMap().get(ProcessBundle.KEY); try { - processInstance = bundle.getProcessClass().newInstance(); + processInstance = bundle.getProcessClass().getDeclaredConstructor().newInstance(); bundle.setConnection((ConnectionProvider) jec.get(ProcessBundle.CONNECTION)); bundle.setConfig((ConfigParameters) jec.get(ProcessBundle.CONFIG_PARAMS)); bundle.setLog(new ProcessLogger(bundle.getConnection())); | |||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |||||||||||||||||||||||||||||||||
|
Notes | |
(0103178) hgbot (developer) 2018-03-13 09:48 |
Repository: erp/devel/pi Changeset: d526512e5e96cb6c5acf77a8451b82f233e4dd0c Author: Javier Armendáriz <javier.armendariz <at> openbravo.com> Date: Fri Mar 09 14:18:48 2018 +0100 URL: http://code.openbravo.com/erp/devel/pi/rev/d526512e5e96cb6c5acf77a8451b82f233e4dd0c [^] Fixed issue 37943: Removed newInstance() deprecation warnings. Class.newInstance() is deprecated from JDK 9. It is replaced by Class.getDeclaredConstructor().newInstance(), but it has the drawback that this call throws an instance of ReflectiveOperationException that must be taken into account. --- M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ImportBankFile.java M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java M modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java M modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java M modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinitionController.java M modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceProperty.java M src-core/src/org/openbravo/base/HttpBaseServlet.java M src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java M src-core/src/org/openbravo/database/ExternalConnectionPool.java M src-core/src/org/openbravo/modulescript/ModuleScriptHandler.java M src-wad/src/org/openbravo/wad/WadUtility.java M src/org/openbravo/authentication/AuthenticationManager.java M src/org/openbravo/base/model/ModelProvider.java M src/org/openbravo/base/model/Reference.java M src/org/openbravo/base/provider/OBProvider.java M src/org/openbravo/costing/CostingServer.java M src/org/openbravo/erpCommon/ad_forms/AcctServer.java M src/org/openbravo/erpCommon/ad_forms/DocAmortization.java M src/org/openbravo/erpCommon/ad_forms/DocBank.java M src/org/openbravo/erpCommon/ad_forms/DocCash.java M src/org/openbravo/erpCommon/ad_forms/DocCostAdjustment.java M src/org/openbravo/erpCommon/ad_forms/DocDPManagement.java M src/org/openbravo/erpCommon/ad_forms/DocDoubtfulDebt.java M src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java M src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java M src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java M src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java M src/org/openbravo/erpCommon/ad_forms/DocGLJournal.java M src/org/openbravo/erpCommon/ad_forms/DocInOut.java M src/org/openbravo/erpCommon/ad_forms/DocInternalConsumption.java M src/org/openbravo/erpCommon/ad_forms/DocInventory.java M src/org/openbravo/erpCommon/ad_forms/DocInvoice.java M src/org/openbravo/erpCommon/ad_forms/DocLCCost.java M src/org/openbravo/erpCommon/ad_forms/DocLandedCost.java M src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java M src/org/openbravo/erpCommon/ad_forms/DocMovement.java M src/org/openbravo/erpCommon/ad_forms/DocOrder.java M src/org/openbravo/erpCommon/ad_forms/DocPayment.java M src/org/openbravo/erpCommon/ad_forms/DocProduction.java M src/org/openbravo/erpCommon/utility/GenericTreeServlet.java M src/org/openbravo/erpCommon/utility/OBMessageUtils.java M src/org/openbravo/scheduling/DefaultJob.java --- |
(0103216) hudsonbot (developer) 2018-03-13 17:24 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/1d3ccc92fab6 [^] Maturity status: Test |
(0103251) caristu (developer) 2018-03-14 19:15 |
Code reviewed + tested OK. |
Issue History | |||
Date Modified | Username | Field | Change |
2018-02-15 18:55 | caristu | New Issue | |
2018-02-15 18:55 | caristu | Assigned To | => platform |
2018-02-15 18:55 | caristu | Modules | => Core |
2018-02-15 18:55 | caristu | Triggers an Emergency Pack | => No |
2018-02-15 18:55 | caristu | Issue generated from | 0037942 |
2018-02-15 18:55 | caristu | Relationship added | related to 0037083 |
2018-02-15 19:04 | caristu | Description Updated | View Revisions |
2018-02-16 09:19 | caristu | Summary | JDK: remove [deprecation] newInstance() in Class warnings => JDK 9: remove [deprecation] newInstance() in Class warnings |
2018-02-26 13:41 | caristu | Relationship added | related to 0038000 |
2018-02-26 13:51 | caristu | Description Updated | View Revisions |
2018-02-26 13:51 | caristu | Description Updated | View Revisions |
2018-02-26 13:52 | caristu | Description Updated | View Revisions |
2018-02-26 18:22 | caristu | File Added: newInstanceRemovalFinal.diff | |
2018-03-07 13:53 | jarmendariz | File Added: new-instance.patch | |
2018-03-09 14:34 | jarmendariz | Relationship added | related to 0038095 |
2018-03-12 12:13 | jarmendariz | Assigned To | platform => jarmendariz |
2018-03-12 12:13 | alostale | Tag Attached: Approved | |
2018-03-12 12:40 | jarmendariz | Status | new => scheduled |
2018-03-13 09:48 | hgbot | Checkin | |
2018-03-13 09:48 | hgbot | Note Added: 0103178 | |
2018-03-13 09:48 | hgbot | Status | scheduled => resolved |
2018-03-13 09:48 | hgbot | Resolution | open => fixed |
2018-03-13 09:48 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/d526512e5e96cb6c5acf77a8451b82f233e4dd0c [^] |
2018-03-13 09:50 | jarmendariz | Review Assigned To | => caristu |
2018-03-13 13:20 | jarmendariz | Relationship added | related to 0038115 |
2018-03-13 17:24 | hudsonbot | Checkin | |
2018-03-13 17:24 | hudsonbot | Note Added: 0103216 | |
2018-03-14 19:15 | caristu | Note Added: 0103251 | |
2018-03-14 19:15 | caristu | Status | resolved => closed |
2018-03-14 19:15 | caristu | Fixed in Version | => 3.0PR18Q2 |
Copyright © 2000 - 2009 MantisBT Group |