Polishing
This commit is contained in:
		
							parent
							
								
									37dd47c6fc
								
							
						
					
					
						commit
						4e6591e1a9
					
				|  | @ -26,6 +26,7 @@ import java.util.Arrays; | |||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.NoSuchElementException; | ||||
| import java.util.Set; | ||||
| 
 | ||||
| import com.fasterxml.jackson.databind.JsonNode; | ||||
|  | @ -731,7 +732,7 @@ class IndexingTests { | |||
| 					.isThrownBy(() -> propertyExpression.getValue(context, birdNameMappings)) | ||||
| 					.withMessageEndingWith("A problem occurred while attempting to read index '%s' in '%s'", | ||||
| 							"property", BirdNameToColorMappings.class.getName()) | ||||
| 					.havingCause().withMessage("unknown bird color: property"); | ||||
| 					.havingCause().withMessage("unknown bird: property"); | ||||
| 		} | ||||
| 
 | ||||
| 		static class BirdNameToColorMappings { | ||||
|  | @ -742,38 +743,15 @@ class IndexingTests { | |||
| 				return switch (name) { | ||||
| 					case "cardinal" -> Color.RED; | ||||
| 					case "blue jay" -> Color.BLUE; | ||||
| 					default -> throw new RuntimeException("unknown bird color: " + name); | ||||
| 					default -> throw new NoSuchElementException("unknown bird: " + name); | ||||
| 				}; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		static class BirdNameToColorMappingsIndexAccessor implements IndexAccessor { | ||||
| 		static class BirdNameToColorMappingsIndexAccessor extends ReflectiveIndexAccessor { | ||||
| 
 | ||||
| 			@Override | ||||
| 			public Class<?>[] getSpecificTargetClasses() { | ||||
| 				return new Class<?>[] { BirdNameToColorMappings.class }; | ||||
| 			} | ||||
| 
 | ||||
| 			@Override | ||||
| 			public boolean canRead(EvaluationContext context, Object target, Object index) { | ||||
| 				return (target instanceof BirdNameToColorMappings && index instanceof String); | ||||
| 			} | ||||
| 
 | ||||
| 			@Override | ||||
| 			public TypedValue read(EvaluationContext context, Object target, Object index) { | ||||
| 				BirdNameToColorMappings mappings = (BirdNameToColorMappings) target; | ||||
| 				String name = (String) index; | ||||
| 				return new TypedValue(mappings.get(name)); | ||||
| 			} | ||||
| 
 | ||||
| 			@Override | ||||
| 			public boolean canWrite(EvaluationContext context, Object target, Object index) { | ||||
| 				return false; | ||||
| 			} | ||||
| 
 | ||||
| 			@Override | ||||
| 			public void write(EvaluationContext context, Object target, Object index, @Nullable Object newValue) { | ||||
| 				throw new UnsupportedOperationException(); | ||||
| 			BirdNameToColorMappingsIndexAccessor() { | ||||
| 				super(BirdNameToColorMappings.class, String.class, "get"); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue