@Override public Object clone() { RulesProfile clone = RulesProfile.create(getName(), getLanguage()); clone.setDefaultProfile(getDefaultProfile()); if (activeRules != null && !activeRules.isEmpty()) { clone.setActiveRules(activeRules.stream() .map(ar -> (ActiveRule) ar.clone()) .collect(Collectors.toList())); } return clone; }
@Override public Object clone() { RulesProfile clone = RulesProfile.create(getName(), getLanguage()); clone.setDefaultProfile(getDefaultProfile()); if (activeRules != null && !activeRules.isEmpty()) { clone.setActiveRules(activeRules.stream() .map(ar -> (ActiveRule) ar.clone()) .collect(Collectors.toList())); } return clone; }
@Override public RulesProfile importProfile(Reader reader, ValidationMessages messages) { RulesProfile profile = RulesProfile.create(); try { List<ActiveRule> activeRules = DelphiRulesUtils.importConfiguration(IOUtils.toString(reader), DelphiRulesUtils.getInitialReferential()); profile.setActiveRules(activeRules); } catch (IOException e) { messages.addErrorText(e.getMessage()); } return profile; } }
/** * Loads a provided profile. * * @param name * the profile name * @param filePath * the path of the file containins the profile * @return a provided profile. */ public RulesProfile loadProvidedProfile(String name, String filePath) { try { InputStream profileIn = getClass().getResourceAsStream(filePath); if (profileIn == null) { throw new IOException("Resource " + profileIn + " not found"); } RulesProfile profile = new RulesProfile(name, CSharp.KEY); List<Rule> initialReferential = getInitialReferential(); List<ActiveRule> configuration = importConfiguration( IOUtils.toString(profileIn, "UTF-8"), initialReferential); profile.setActiveRules(configuration); return profile; } catch (IOException e) { throw new RuntimeException( "Configuration file not found for the profile : " + name, e); } } }
@Override public Object clone() { RulesProfile clone = RulesProfile.create(getName(), getLanguage()); clone.setDefaultProfile(getDefaultProfile()); clone.setParentName(getParentName()); if (activeRules != null && !activeRules.isEmpty()) { clone.setActiveRules(new ArrayList<ActiveRule>(CollectionUtils.collect(activeRules, new Transformer() { @Override public Object transform(Object input) { return ((ActiveRule) input).clone(); } }))); } return clone; }