Project

General

Profile

« Previous | Next » 

Revision a8d7b69f

Added by Andreas Müller over 2 years ago

fix #9759 fix not existing protectedCache field in persistence matcher

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/match/CacheMatcher.java
44 44

  
45 45
	public Field getProtectedField(Matching matching){
46 46
		FieldMatcher fieldMatcher = getProtectedFieldMatcher(matching);
47
		return fieldMatcher.getField();
47
		return fieldMatcher == null? null:fieldMatcher.getField();
48 48
	}
49 49
    public FieldMatcher getProtectedFieldMatcher(Matching matching){
50 50
        String protectedPropertyName = getProtectedPropertyName();
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/CdmGenericDaoImpl.java
681 681
		boolean noMatch = false;
682 682
		Map<String, List<MatchMode>> replaceMatchers = new HashMap<>();
683 683
		for (CacheMatcher cacheMatcher: matching.getCacheMatchers()){
684
			boolean cacheProtected = (Boolean)cacheMatcher.getProtectedField(matching).get(objectToMatch);
684
		    Field protectedField = cacheMatcher.getProtectedField(matching);
685
			boolean cacheProtected = protectedField == null ? false : (Boolean)protectedField.get(objectToMatch);
685 686
			if (cacheProtected == true){
686 687
				String cacheValue = (String)cacheMatcher.getField().get(objectToMatch);
687 688
				if (StringUtils.isBlank(cacheValue)){

Also available in: Unified diff