Author: jleroux
Date: Tue Oct 13 21:37:49 2009 New Revision: 824937 URL: http://svn.apache.org/viewvc?rev=824937&view=rev Log: In this case I don't need to persist the property. This changes just do that : set temporary the property in memory, and reset it back to its original value Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java?rev=824937&r1=824936&r2=824937&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java Tue Oct 13 21:37:49 2009 @@ -325,82 +325,97 @@ } /** Sets the specified value of the specified property name to the specified resource/properties file - * @param resource The name of the resource - must be a file - * @param name The name of the property in the properties file - * @param value The value of the property in the properties file */ - public static void setPropertyValue(String resource, String name, String value) { - if (resource == null || resource.length() <= 0) return; - if (name == null || name.length() <= 0) return; - - Properties properties = getProperties(resource); - if (properties == null) { - return; - } - - try { - properties.setProperty(name, value); - FileOutputStream propFile = new FileOutputStream(resource); - if ("XuiLabels".equals(name)) { - properties.store(propFile, - "##############################################################################\n" - +"# Licensed to the Apache Software Foundation (ASF) under one \n" - +"# or more contributor license agreements. See the NOTICE file \n" - +"# distributed with this work for additional information \n" - +"# regarding copyright ownership. The ASF licenses this file \n" - +"# to you under the Apache License, Version 2.0 (the \n" - +"# \"License\"); you may not use this file except in compliance \n" - +"# with the License. You may obtain a copy of the License at \n" - +"# \n" - +"# http://www.apache.org/licenses/LICENSE-2.0 \n" - +"# \n" - +"# Unless required by applicable law or agreed to in writing, \n" - +"# software distributed under the License is distributed on an \n" - +"# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY \n" - +"# KIND, either express or implied. See the License for the \n" - +"# specific language governing permissions and limitations \n" - +"# under the License. \n" - +"###############################################################################\n" - +"# \n" - +"# Dynamically modified by OFBiz Framework (org.ofbiz.base.util : UtilProperties.setPropertyValue)\n" - +"# \n" - +"# By default the screen is 1024x768 wide. If you want to use another screen size,\n" - +"# you must create a new directory under specialpurpose/pos/screens, like the 800x600.\n" - +"# You must also set the 3 related parameters (StartClass, ClientWidth, ClientHeight) accordingly.\n" - +"#"); - } else { - properties.store(propFile, - "##############################################################################\n" - +"# Licensed to the Apache Software Foundation (ASF) under one \n" - +"# or more contributor license agreements. See the NOTICE file \n" - +"# distributed with this work for additional information \n" - +"# regarding copyright ownership. The ASF licenses this file \n" - +"# to you under the Apache License, Version 2.0 (the \n" - +"# \"License\"); you may not use this file except in compliance \n" - +"# with the License. You may obtain a copy of the License at \n" - +"# \n" - +"# http://www.apache.org/licenses/LICENSE-2.0 \n" - +"# \n" - +"# Unless required by applicable law or agreed to in writing, \n" - +"# software distributed under the License is distributed on an \n" - +"# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY \n" - +"# KIND, either express or implied. See the License for the \n" - +"# specific language governing permissions and limitations \n" - +"# under the License. \n" - +"###############################################################################\n" - +"# \n" - +"# Dynamically modified by OFBiz Framework (org.ofbiz.base.util : UtilProperties.setPropertyValue)\n" - +"# The comments have been removed, you may still find them on the OFBiz repository... \n" - +"#"); - - } - - propFile.close(); - } catch (FileNotFoundException e) { - Debug.log(e, "Unable to located the resource file.", module); - } catch (IOException e) { - Debug.logError(e, module); - } - } + * @param resource The name of the resource - must be a file + * @param name The name of the property in the properties file + * @param value The value of the property in the properties file */ + public static void setPropertyValue(String resource, String name, String value) { + if (resource == null || resource.length() <= 0) return; + if (name == null || name.length() <= 0) return; + + Properties properties = getProperties(resource); + if (properties == null) { + return; + } + + try { + properties.setProperty(name, value); + FileOutputStream propFile = new FileOutputStream(resource); + if ("XuiLabels".equals(name)) { + properties.store(propFile, + "##############################################################################\n" + +"# Licensed to the Apache Software Foundation (ASF) under one \n" + +"# or more contributor license agreements. See the NOTICE file \n" + +"# distributed with this work for additional information \n" + +"# regarding copyright ownership. The ASF licenses this file \n" + +"# to you under the Apache License, Version 2.0 (the \n" + +"# \"License\"); you may not use this file except in compliance \n" + +"# with the License. You may obtain a copy of the License at \n" + +"# \n" + +"# http://www.apache.org/licenses/LICENSE-2.0 \n" + +"# \n" + +"# Unless required by applicable law or agreed to in writing, \n" + +"# software distributed under the License is distributed on an \n" + +"# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY \n" + +"# KIND, either express or implied. See the License for the \n" + +"# specific language governing permissions and limitations \n" + +"# under the License. \n" + +"###############################################################################\n" + +"# \n" + +"# Dynamically modified by OFBiz Framework (org.ofbiz.base.util : UtilProperties.setPropertyValue)\n" + +"# \n" + +"# By default the screen is 1024x768 wide. If you want to use another screen size,\n" + +"# you must create a new directory under specialpurpose/pos/screens, like the 800x600.\n" + +"# You must also set the 3 related parameters (StartClass, ClientWidth, ClientHeight) accordingly.\n" + +"#"); + } else { + properties.store(propFile, + "##############################################################################\n" + +"# Licensed to the Apache Software Foundation (ASF) under one \n" + +"# or more contributor license agreements. See the NOTICE file \n" + +"# distributed with this work for additional information \n" + +"# regarding copyright ownership. The ASF licenses this file \n" + +"# to you under the Apache License, Version 2.0 (the \n" + +"# \"License\"); you may not use this file except in compliance \n" + +"# with the License. You may obtain a copy of the License at \n" + +"# \n" + +"# http://www.apache.org/licenses/LICENSE-2.0 \n" + +"# \n" + +"# Unless required by applicable law or agreed to in writing, \n" + +"# software distributed under the License is distributed on an \n" + +"# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY \n" + +"# KIND, either express or implied. See the License for the \n" + +"# specific language governing permissions and limitations \n" + +"# under the License. \n" + +"###############################################################################\n" + +"# \n" + +"# Dynamically modified by OFBiz Framework (org.ofbiz.base.util : UtilProperties.setPropertyValue)\n" + +"# The comments have been removed, you may still find them on the OFBiz repository... \n" + +"#"); + + } + + propFile.close(); + } catch (FileNotFoundException e) { + Debug.log(e, "Unable to located the resource file.", module); + } catch (IOException e) { + Debug.logError(e, module); + } + } + + /** Sets the specified value of the specified property name to the specified resource/properties in memory, does not persist it + * @param resource The name of the resource + * @param name The name of the property in the resource + * @param value The value of the property to set in memory */ + public static void setPropertyValueInMemory(String resource, String name, String value) { + if (resource == null || resource.length() <= 0) return; + if (name == null || name.length() <= 0) return; + + Properties properties = getProperties(resource); + if (properties == null) { + return; + } + properties.setProperty(name, value); + } // ========= Locale & Resource Based Methods ========== Modified: ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java?rev=824937&r1=824936&r2=824937&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java (original) +++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java Tue Oct 13 21:37:49 2009 @@ -1833,8 +1833,10 @@ if (UtilValidate.isNotEmpty(card)) { svcCtx.put("memberId", card); if (!card.equals(person.getString("memberId"))) { - // Update password - UtilProperties.setPropertyValue("security.properties", "password.accept.encrypted.and.plain", "true"); + // Update password, we need to temporary set password.accept.encrypted.and.plain to "true" + // This is done only for the properties loaded for the session in memory (we don't persist the value) + String passwordAcceptEncryptedAndPlain = UtilProperties.getPropertyValue("security.properties", "password.accept.encrypted.and.plain"); + UtilProperties.setPropertyValueInMemory("security.properties", "password.accept.encrypted.and.plain", "true"); try { svcRes = dispatcher.runSync("updatePassword", UtilMisc.toMap("userLogin", partyLogin, @@ -1852,8 +1854,8 @@ pos.showDialog("dialog/error/exception", ServiceUtil.getErrorMessage(svcRes)); return result; } - // This remove comments from the security.properties file. I did not find a way to keep them, so I put a word about that - UtilProperties.setPropertyValue("security.properties", "password.accept.encrypted.and.plain", "false"); + // Put back passwordAcceptEncryptedAndPlain value in memory + UtilProperties.setPropertyValueInMemory("security.properties", "password.accept.encrypted.and.plain", passwordAcceptEncryptedAndPlain); partyLogin = (GenericValue) svcRes.get("updatedUserLogin"); svcCtx.put("userLogin", partyLogin); } |
Free forum by Nabble | Edit this page |