You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/07/14 01:18:41 UTC
svn commit: r793744 - in
/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator:
./ crossval/ crossval/recorder/ crossval/storage/ crossval/storage/mapper/
...
Author: gpetracek
Date: Mon Jul 13 23:18:41 2009
New Revision: 793744
URL: http://svn.apache.org/viewvc?rev=793744&view=rev
Log:
EXTVAL-51 refactored version with full backward compatibility
Added:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorage.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorageManager.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/ProcessedInformationStorage.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/mapper/ProcessedInformationStorageNameMapper.java
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/ELCompareStrategy.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalCompareStrategy.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalPropertyChainCompareStrategy.java
myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/util/CrossValidationUtils.java
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/PropertyValidationModuleStartupListener.java Mon Jul 13 23:18:41 2009
@@ -40,7 +40,10 @@
import org.apache.myfaces.extensions.validator.crossval.recorder.CrossValidationUserInputRecorder;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
import org.apache.myfaces.extensions.validator.crossval.storage.DefaultCrossValidationStorageManager;
+import org.apache.myfaces.extensions.validator.crossval.storage.DefaultProcessedInformationStorageManager;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.crossval.storage.mapper.CrossValidationStorageNameMapper;
+import org.apache.myfaces.extensions.validator.crossval.storage.mapper.ProcessedInformationStorageNameMapper;
/**
* @author Gerhard Petracek
@@ -118,8 +121,15 @@
.getFactoryFinder()
.getFactory(FactoryNames.STORAGE_MANAGER_FACTORY, StorageManagerHolder.class));
+ //processed-information
+ DefaultProcessedInformationStorageManager processedInfoStorageManager =
+ new DefaultProcessedInformationStorageManager();
+ processedInfoStorageManager.register(new ProcessedInformationStorageNameMapper());
+ storageManagerHolder.setStorageManager(ProcessedInformationStorage.class, processedInfoStorageManager, false);
+
//cross-validation
- DefaultCrossValidationStorageManager crossValidationStorageManager = new DefaultCrossValidationStorageManager();
+ DefaultCrossValidationStorageManager crossValidationStorageManager =
+ new DefaultCrossValidationStorageManager();
crossValidationStorageManager.register(new CrossValidationStorageNameMapper());
storageManagerHolder.setStorageManager(CrossValidationStorage.class, crossValidationStorageManager, false);
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java Mon Jul 13 23:18:41 2009
@@ -25,6 +25,9 @@
import java.util.List;
/**
+ * normally it should be in the storage package and the name should be ProcessedInformationStorageEntry
+ * due to backward compatibility it isn't the case
+ * <p/>
* In order to build up a mapping which is used for cross-validation.
*
* @author Gerhard Petracek
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java Mon Jul 13 23:18:41 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.core.recorder.ProcessedInformationRecorder;
import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.util.CrossValidationUtils;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -29,7 +30,6 @@
import javax.faces.component.UIComponent;
import javax.faces.component.EditableValueHolder;
import javax.faces.context.FacesContext;
-import java.util.Map;
import java.util.List;
import java.util.ArrayList;
@@ -48,8 +48,8 @@
}
//to support local cross-validation (within the same entity)
- Map<String, ProcessedInformationEntry> keyToConvertedValueMapping = CrossValidationUtils
- .getOrInitKeyToConvertedValueMapping();
+ ProcessedInformationStorage processedInformationStorage = CrossValidationUtils
+ .getOrInitProcessedInformationStorage();
ProcessedInformationEntry entry;
@@ -70,21 +70,21 @@
String key = propertyDetails.getKey();
//for local cross-validation
- if (keyToConvertedValueMapping.containsKey(key) &&
- keyToConvertedValueMapping.get(key).getBean() != null &&
- !keyToConvertedValueMapping.get(key).getBean().equals(entry.getBean()))
+ if (processedInformationStorage.containsEntry(key) &&
+ processedInformationStorage.getEntry(key).getBean() != null &&
+ !processedInformationStorage.getEntry(key).getBean().equals(entry.getBean()))
{
//for the validation within a complex component e.g. a table
//don't override existing expression (style: #{entry.property}) - make a special mapping
List<ProcessedInformationEntry> furtherEntries =
- keyToConvertedValueMapping.get(key).getFurtherEntries();
+ processedInformationStorage.getEntry(key).getFurtherEntries();
if (furtherEntries == null)
{
furtherEntries = new ArrayList<ProcessedInformationEntry>();
- keyToConvertedValueMapping.get(key).setFurtherEntries(furtherEntries);
+ processedInformationStorage.getEntry(key).setFurtherEntries(furtherEntries);
}
furtherEntries.add(entry);
@@ -92,7 +92,7 @@
else
{
//for normal validation
- keyToConvertedValueMapping.put(key, entry);
+ processedInformationStorage.setEntry(key, entry);
}
}
}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorage.java?rev=793744&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorage.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorage.java Mon Jul 13 23:18:41 2009
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. 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 under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.crossval.storage;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author Gerhard Petracek
+ * @since x.x.3
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class DefaultProcessedInformationStorage implements ProcessedInformationStorage
+{
+ private Map<String, ProcessedInformationEntry> processedInformationMap =
+ new HashMap<String, ProcessedInformationEntry>();
+
+ public void setEntry(String key, ProcessedInformationEntry entry)
+ {
+ this.processedInformationMap.put(key, entry);
+ }
+
+ public boolean containsEntry(String key)
+ {
+ return processedInformationMap.containsKey(key);
+ }
+
+ public ProcessedInformationEntry getEntry(String key)
+ {
+ return processedInformationMap.get(key);
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorageManager.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorageManager.java?rev=793744&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorageManager.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/DefaultProcessedInformationStorageManager.java Mon Jul 13 23:18:41 2009
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. 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 under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.crossval.storage;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
+import org.apache.myfaces.extensions.validator.core.storage.AbstractRequestScopeAwareStorageManager;
+import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
+import org.apache.myfaces.extensions.validator.util.CrossValidationUtils;
+
+/**
+ * default storage-manager for processed information entries
+ *
+ * @author Gerhard Petracek
+ * @since x.x.3
+ */
+@UsageInformation(INTERNAL)
+public class DefaultProcessedInformationStorageManager
+ extends AbstractRequestScopeAwareStorageManager<CrossValidationStorage>
+{
+ public String getStorageManagerKey()
+ {
+ //for better backward compatibility
+ return CrossValidationUtils.class.getName();
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/ProcessedInformationStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/ProcessedInformationStorage.java?rev=793744&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/ProcessedInformationStorage.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/ProcessedInformationStorage.java Mon Jul 13 23:18:41 2009
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. 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 under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.crossval.storage;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import static org.apache.myfaces.extensions.validator.internal.UsageCategory.API;
+import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
+
+/**
+ * @author Gerhard Petracek
+ * @since x.x.3
+ */
+@UsageInformation(API)
+public interface ProcessedInformationStorage
+{
+ void setEntry(String key, ProcessedInformationEntry entry);
+
+ boolean containsEntry(String key);
+
+ ProcessedInformationEntry getEntry(String key);
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/mapper/ProcessedInformationStorageNameMapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/mapper/ProcessedInformationStorageNameMapper.java?rev=793744&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/mapper/ProcessedInformationStorageNameMapper.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/storage/mapper/ProcessedInformationStorageNameMapper.java Mon Jul 13 23:18:41 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. 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 under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.crossval.storage.mapper;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
+import org.apache.myfaces.extensions.validator.core.mapper.NameMapper;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
+import org.apache.myfaces.extensions.validator.crossval.storage.DefaultProcessedInformationStorage;
+
+/**
+ * @author Gerhard Petracek
+ * @since x.x.3
+ */
+@UsageInformation(INTERNAL)
+public class ProcessedInformationStorageNameMapper implements NameMapper<String>
+{
+ public String createName(String key)
+ {
+ return (ProcessedInformationStorage.class.getName().equals(key)) ?
+ DefaultProcessedInformationStorage.class.getName() : null;
+ }
+}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/ELCompareStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/ELCompareStrategy.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/ELCompareStrategy.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/ELCompareStrategy.java Mon Jul 13 23:18:41 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorageEntry;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.util.CrossValidationUtils;
import org.apache.myfaces.extensions.validator.internal.ToDo;
@@ -32,7 +33,6 @@
import org.apache.commons.logging.LogFactory;
import javax.faces.context.FacesContext;
-import java.util.Map;
/**
* referencing validation targets - possible formats:
@@ -89,11 +89,11 @@
CrossValidationStorageEntry crossValidationStorageEntry,
ValueBindingExpression validationTarget)
{
- Map<String, ProcessedInformationEntry> keyConvertedValueMapping =
- CrossValidationUtils.getOrInitKeyToConvertedValueMapping();
+ ProcessedInformationStorage processedInformationStorage =
+ CrossValidationUtils.getOrInitProcessedInformationStorage();
return CrossValidationUtils.resolveValidationTargetEntry(
- keyConvertedValueMapping,
+ processedInformationStorage,
CrossValidationUtils.convertValueBindingExpressionToProcessedInformationKey(validationTarget),
crossValidationStorageEntry);
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalCompareStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalCompareStrategy.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalCompareStrategy.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalCompareStrategy.java Mon Jul 13 23:18:41 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorageEntry;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.core.property.PropertyDetails;
@@ -31,7 +32,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.util.Map;
import java.lang.reflect.Method;
/**
@@ -69,11 +69,11 @@
String targetKey,
AbstractCompareStrategy compareStrategy)
{
- Map<String, ProcessedInformationEntry> keyConvertedValueMapping =
- CrossValidationUtils.getOrInitKeyToConvertedValueMapping();
+ ProcessedInformationStorage processedInformationStorage =
+ CrossValidationUtils.getOrInitProcessedInformationStorage();
boolean isModelAwareValidation =
- isModelAwareCrossValidation(crossValidationStorageEntry, keyConvertedValueMapping, targetKey);
+ isModelAwareCrossValidation(crossValidationStorageEntry, processedInformationStorage, targetKey);
String targetProperty = targetKey;
@@ -81,7 +81,7 @@
targetKey = sourceKey.substring(0, sourceKey.lastIndexOf(".") + 1) + targetKey;
ProcessedInformationEntry validationTargetEntry = CrossValidationUtils.resolveValidationTargetEntry(
- keyConvertedValueMapping, targetKey, crossValidationStorageEntry);
+ processedInformationStorage, targetKey, crossValidationStorageEntry);
if (validationTargetEntry != null && validationTargetEntry.getComponent() != null && !isModelAwareValidation)
{
@@ -135,12 +135,12 @@
private boolean isModelAwareCrossValidation(
CrossValidationStorageEntry crossValidationStorageEntry,
- Map<String, ProcessedInformationEntry> keyConvertedValueMapping,
+ ProcessedInformationStorage keyConvertedValueMapping,
String targetKey)
{
String newKey = createTargetKey(crossValidationStorageEntry, targetKey);
- return !keyConvertedValueMapping.containsKey(newKey);
+ return !keyConvertedValueMapping.containsEntry(newKey);
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalPropertyChainCompareStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalPropertyChainCompareStrategy.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalPropertyChainCompareStrategy.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/LocalPropertyChainCompareStrategy.java Mon Jul 13 23:18:41 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorageEntry;
import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.util.CrossValidationUtils;
@@ -29,7 +30,6 @@
import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
import java.lang.annotation.Annotation;
-import java.util.Map;
/**
* "[local_property.property1.property2]"
@@ -65,14 +65,14 @@
String targetKey,
AbstractCompareStrategy compareStrategy)
{
- Map<String, ProcessedInformationEntry> keyConvertedValueMapping =
- CrossValidationUtils.getOrInitKeyToConvertedValueMapping();
+ ProcessedInformationStorage processedInformationStorage =
+ CrossValidationUtils.getOrInitProcessedInformationStorage();
String newKey = createTargetKey(crossValidationStorageEntry, targetKey);
- if (keyConvertedValueMapping.containsKey(newKey))
+ if (processedInformationStorage.containsEntry(newKey))
{
- ProcessedInformationEntry validationTargetEntry = keyConvertedValueMapping.get(newKey);
+ ProcessedInformationEntry validationTargetEntry = processedInformationStorage.getEntry(newKey);
processCrossComponentValidation(compareStrategy, crossValidationStorageEntry, validationTargetEntry);
}
Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/util/CrossValidationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/util/CrossValidationUtils.java?rev=793744&r1=793743&r2=793744&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/util/CrossValidationUtils.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/util/CrossValidationUtils.java Mon Jul 13 23:18:41 2009
@@ -21,6 +21,7 @@
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorage;
import org.apache.myfaces.extensions.validator.crossval.ProcessedInformationEntry;
import org.apache.myfaces.extensions.validator.crossval.CrossValidationStorageEntry;
+import org.apache.myfaces.extensions.validator.crossval.storage.ProcessedInformationStorage;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.ToDo;
@@ -29,10 +30,6 @@
import org.apache.myfaces.extensions.validator.core.property.PropertyInformationKeys;
import org.apache.myfaces.extensions.validator.core.el.ValueBindingExpression;
-import javax.faces.context.FacesContext;
-import java.util.Map;
-import java.util.HashMap;
-
/**
* @author Gerhard Petracek
* @since 1.x.1
@@ -50,32 +47,23 @@
ExtValUtils.resetStorage(CrossValidationStorage.class, CrossValidationStorage.class.getName());
}
- public static final String KEY_TO_CONVERTED_VALUE_MAPPING_KEY = CrossValidationUtils.class.getName();
-
- public static Map<String, ProcessedInformationEntry> getOrInitKeyToConvertedValueMapping()
+ public static ProcessedInformationStorage getOrInitProcessedInformationStorage()
{
- Map requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
-
- if (!requestMap.containsKey(KEY_TO_CONVERTED_VALUE_MAPPING_KEY))
- {
- resetKeyToConvertedValueMapping();
- }
-
- return (Map<String, ProcessedInformationEntry>) requestMap.get(KEY_TO_CONVERTED_VALUE_MAPPING_KEY);
+ return ExtValUtils.getOrInitStorage(
+ ProcessedInformationStorage.class, ProcessedInformationStorage.class.getName());
}
public static void resetKeyToConvertedValueMapping()
{
- FacesContext.getCurrentInstance().getExternalContext().getRequestMap()
- .put(KEY_TO_CONVERTED_VALUE_MAPPING_KEY, new HashMap<String, ProcessedInformationEntry>());
+ ExtValUtils.resetStorage(ProcessedInformationStorage.class, ProcessedInformationStorage.class.getName());
}
public static ProcessedInformationEntry resolveValidationTargetEntry(
- Map<String, ProcessedInformationEntry> keyToConvertedValueMapping,
+ ProcessedInformationStorage processedInformationStorage,
String targetKey, CrossValidationStorageEntry crossValidationStorageEntry)
{
ProcessedInformationEntry processedInformationEntry =
- keyToConvertedValueMapping.get(targetKey);
+ processedInformationStorage.getEntry(targetKey);
//value not submitted at this request - use model value (validation against the model)
if(processedInformationEntry == null)