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);
}