Changeset 1040 for trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectXmlDescriptionResolver.java
- Timestamp:
- 01/16/13 17:51:51 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectXmlDescriptionResolver.java
r1030 r1040 1 // Copyright 2012 Georg-August-Universität Göttingen, Germany 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 1 15 package de.ugoe.cs.autoquest.usability.evaluation.result; 2 16 … … 16 30 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRule; 17 31 32 /** 33 * <p> 34 * TODO comment 35 * </p> 36 * 37 * @author Alexander Deicke 38 */ 18 39 public class UsabilityDefectXmlDescriptionResolver implements UsabilityDefectDescriptionResolver { 19 40 20 41 private static final String DEFAULT_MESSAGES_FILE = "defectDescriptions_en.xml"; 21 22 private static final UsabilityDefectXmlDescriptionResolver instance = new UsabilityDefectXmlDescriptionResolver(); 23 42 43 private static final UsabilityDefectXmlDescriptionResolver instance = 44 new UsabilityDefectXmlDescriptionResolver(); 45 24 46 private DefectDescriptions defectDescriptions; 25 47 26 48 private UsabilityDefectXmlDescriptionResolver() { 27 49 loadDescriptions(); 28 50 } 29 51 30 52 @SuppressWarnings("unchecked") 31 53 private void loadDescriptions() { 32 InputStream inputStream = 33 ClassLoader.getSystemResourceAsStream(DEFAULT_MESSAGES_FILE); 54 InputStream inputStream = ClassLoader.getSystemResourceAsStream(DEFAULT_MESSAGES_FILE); 34 55 try { 35 56 String packageName = DefectDescriptions.class.getPackage().getName(); … … 38 59 39 60 defectDescriptions = 40 ((JAXBElement<DefectDescriptions>) unmarshaller.unmarshal(inputStream)) 41 .getValue(); 61 ((JAXBElement<DefectDescriptions>) unmarshaller.unmarshal(inputStream)).getValue(); 42 62 } 43 63 catch (Exception e) { 44 throw new RuntimeException 45 ("error while initializing usability defect descriptions", e); 64 throw new RuntimeException("error while initializing usability defect descriptions", e); 46 65 } 47 66 finally { … … 56 75 } 57 76 } 58 77 59 78 public static UsabilityDefectXmlDescriptionResolver instance() { 60 79 return instance; … … 63 82 @Override 64 83 public DefectDescription descriptionFor(final UsabilityRule usabilityRule) { 65 Optional<DefectDescription> guidlineDescription = Iterables.tryFind(defectDescriptions.getDefectDescription(), new Predicate<DefectDescription>() { 66 67 public boolean apply(DefectDescription defectDescription) { 68 return usabilityRule.ruleIdentifier().equals(defectDescription.getDefectId()); 69 } 70 71 }); 72 if(!guidlineDescription.isPresent()) 73 throw new RuntimeException 74 ("error while initializing usability defect descriptions. No " + 75 "description text available for description " + usabilityRule.ruleIdentifier()); 84 Optional<DefectDescription> guidlineDescription = 85 Iterables.tryFind(defectDescriptions.getDefectDescription(), 86 new Predicate<DefectDescription>() { 87 88 public boolean apply(DefectDescription defectDescription) { 89 return usabilityRule.ruleIdentifier() 90 .equals(defectDescription.getDefectId()); 91 } 92 93 }); 94 if (!guidlineDescription.isPresent()) 95 throw new RuntimeException( 96 "error while initializing usability defect descriptions. No " + 97 "description text available for description " + 98 usabilityRule.ruleIdentifier()); 76 99 return guidlineDescription.get(); 77 100 }
Note: See TracChangeset
for help on using the changeset viewer.