/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.tanaguru.kafka.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.logging.Level; import javax.xml.parsers.ParserConfigurationException; import kafka.consumer.KafkaStream; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.log4j.Logger; import org.hibernate.Hibernate; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.safety.Whitelist; import org.springframework.context.support.ReloadableResourceBundleMessageSource; import org.tanaguru.entity.audit.Audit; import org.tanaguru.entity.audit.AuditStatus; import org.tanaguru.entity.audit.EvidenceElement; import org.tanaguru.entity.audit.ProcessRemark; import org.tanaguru.entity.audit.ProcessResult; import org.tanaguru.entity.audit.SourceCodeRemark; import org.tanaguru.entity.parameterization.Parameter; import org.tanaguru.entity.service.audit.AuditDataService; import org.tanaguru.entity.service.audit.ProcessResultDataService; import org.tanaguru.entity.service.parameterization.ParameterDataService; import org.tanaguru.entity.service.parameterization.ParameterElementDataService; import org.tanaguru.entity.service.audit.ProcessRemarkDataService; import org.tanaguru.entity.service.statistics.WebResourceStatisticsDataService; import org.tanaguru.entity.service.subject.WebResourceDataService; import org.tanaguru.entity.statistics.WebResourceStatistics; import org.tanaguru.kafka.messaging.Consumer; import org.tanaguru.kafka.messaging.MessagesProducer; import org.tanaguru.service.AuditService; import org.tanaguru.service.AuditServiceListener; import org.xml.sax.SAXException; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import org.tanaguru.entity.audit.Content; import org.tanaguru.entity.audit.RelatedContent; import org.tanaguru.entity.audit.SSP; import org.tanaguru.entity.dao.audit.ContentDAO; import org.tanaguru.entity.service.audit.ContentDataService; import org.tanaguru.entity.service.statistics.TestStatisticsDataService; /** * * @author omokeddem at oceaneconsulting * */ public class AuditPageConsumed implements AuditServiceListener { private ParameterDataService parameterDataService; private AuditService auditService; private ParameterElementDataService parameterElementDataService; private AuditDataService auditDataService; private ProcessResultDataService processResultDataService; private ProcessRemarkDataService processRemarkDataService; private WebResourceStatisticsDataService webResourceStatisticsDataService; private WebResourceDataService webResourceDataService; private ContentDataService contentDataService; private TestStatisticsDataService testStatisticsDataService; private MessagesProducer messagesProducer; private ExposedResourceMessageBundleSource referentialAw22Theme; private ExposedResourceMessageBundleSource referentialAw22Criterion; private ExposedResourceMessageBundleSource referentialAw22Rule; private ExposedResourceMessageBundleSource referentialRgaa2Theme; private ExposedResourceMessageBundleSource referentialRgaa2Criterion; private ExposedResourceMessageBundleSource referentialRgaa2Rule; private ExposedResourceMessageBundleSource referentialRgaa3Theme; private ExposedResourceMessageBundleSource referentialRgaa3Criterion; private ExposedResourceMessageBundleSource referentialRgaa3Rule; private ExposedResourceMessageBundleSource referentialRgaa32016Theme; private ExposedResourceMessageBundleSource referentialRgaa32016Criterion; private ExposedResourceMessageBundleSource referentialRgaa32016Rule; private ExposedResourceMessageBundleSource remarkMessage; private String dbHost; private String dbPort; private String dbUserName; private String dbPassWord; private String dbName; private HashMap<Long, String> auditType = new HashMap<Long, String>(); private HashMap<Long, String> tagsByAudit = new HashMap<Long, String>(); private HashMap<Long, String> auditHash = new HashMap<Long, String>(); private HashMap<Long, String> auditName = new HashMap<Long, String>(); private HashMap<Long, String> auditUrl = new HashMap<Long, String>(); private HashMap<Long, String> auditRef = new HashMap<Long, String>(); private HashMap<Long, String> auditLevel = new HashMap<Long, String>(); private HashMap<Long, String> auditLanguage = new HashMap<Long, String>(); private HashMap<Long, Boolean> auditDescriptionRef = new HashMap<Long, Boolean>(); private HashMap<Long, Integer> auditScreenWidth = new HashMap<Long, Integer>(); private HashMap<Long, Integer> auditScreenHeight = new HashMap<Long, Integer>(); private HashMap<Long, Boolean> auditHtmlTags = new HashMap<Long, Boolean>(); private String compaignHash; private MessageConsumerLimit messageConsumerLimit; private final char Separator = ((char) 007); private static final Logger logger = Logger.getLogger(AuditPageConsumed.class); public void setMessageConsumerLimit(MessageConsumerLimit _messageConsumerLimit) { this.messageConsumerLimit = _messageConsumerLimit; this.messageConsumerLimit.setCurrentNumberMessagesEvent(0); this.messageConsumerLimit.setCurrentNumberMessagesRest(0); } public AuditPageConsumed(ParameterDataService a_parameterDataService, AuditService a_auditService, ParameterElementDataService a_parameterElementDataService, AuditDataService a_auditDataService, ProcessResultDataService a_processResultDataService, WebResourceDataService a_webResourceDataService, WebResourceStatisticsDataService a_webResourceStatisticsDataService, ProcessRemarkDataService a_processRemarkDataService, ContentDataService a_contentDataService, MessagesProducer a_messagesProducer, ExposedResourceMessageBundleSource a_referentialAw22Theme, ExposedResourceMessageBundleSource a_referentialAw22Criterion, ExposedResourceMessageBundleSource a_referentialAw22Rule, ExposedResourceMessageBundleSource a_referentialRgaa2Theme, ExposedResourceMessageBundleSource a_referentialRgaa2Criterion, ExposedResourceMessageBundleSource a_referentialRgaa2Rule, ExposedResourceMessageBundleSource a_referentialRgaa3Theme, ExposedResourceMessageBundleSource a_referentialRgaa3Criterion, ExposedResourceMessageBundleSource a_referentialRgaa3Rule, ExposedResourceMessageBundleSource a_referentialRgaa32016Theme, ExposedResourceMessageBundleSource a_referentialRgaa32016Criterion, ExposedResourceMessageBundleSource a_referentialRgaa32016Rule, ExposedResourceMessageBundleSource a_remarkMessage, String a_dbHost, String a_dbPort, String a_dbUserName, String a_dbPassWord, String a_dbName) { parameterDataService = a_parameterDataService; auditService = a_auditService; parameterElementDataService = a_parameterElementDataService; auditDataService = a_auditDataService; processResultDataService = a_processResultDataService; webResourceDataService = a_webResourceDataService; webResourceStatisticsDataService = a_webResourceStatisticsDataService; processRemarkDataService = a_processRemarkDataService; contentDataService = a_contentDataService; messagesProducer = a_messagesProducer; referentialAw22Theme = a_referentialAw22Theme; referentialAw22Criterion = a_referentialAw22Criterion; referentialAw22Rule = a_referentialAw22Rule; referentialRgaa2Theme = a_referentialRgaa2Theme; referentialRgaa2Criterion = a_referentialRgaa2Criterion; referentialRgaa2Rule = a_referentialRgaa2Rule; referentialRgaa3Theme = a_referentialRgaa3Theme; referentialRgaa3Criterion = a_referentialRgaa3Criterion; referentialRgaa3Rule = a_referentialRgaa3Rule; referentialRgaa32016Theme = a_referentialRgaa32016Theme; referentialRgaa32016Criterion = a_referentialRgaa32016Criterion; referentialRgaa32016Rule = a_referentialRgaa32016Rule; remarkMessage = a_remarkMessage; dbHost = a_dbHost; dbPort = a_dbPort; dbUserName = a_dbUserName; dbPassWord = a_dbPassWord; dbName = a_dbName; auditService.add(this); } public Map<String, String> getMessages(ExposedResourceMessageBundleSource messageSource, Locale locale) { Properties properties = messageSource.getMessages(locale); Map<String, String> messagesMap = new HashMap<String, String>(); for (Map.Entry<Object, Object> entry : properties.entrySet()) { if (entry.getKey() != null && entry.getValue() != null) { messagesMap.put(entry.getKey().toString(), entry.getValue().toString()); } } return messagesMap; } public JSONObject getDescriptionFromRef(String Ref, String language, String entity, Boolean htmlTags) throws JSONException { JSONObject result = new JSONObject(); Map<String, String> allMessages = null; switch (Ref) { case "Rgaa32016": switch (entity) { case "Theme": if (language.equals("fr")) { allMessages = getMessages(referentialRgaa32016Theme, Locale.FRENCH); } else if (language.equals("en")) { allMessages = getMessages(referentialRgaa32016Theme, Locale.ENGLISH); } else if (language.equals("es_fr") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa32016Theme, new Locale("es")); } break; case "Criterion": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa32016Criterion, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa32016Criterion, Locale.ENGLISH); } break; case "Rule": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa32016Rule, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa32016Rule, Locale.ENGLISH); } break; } break; case "Rgaa30": switch (entity) { case "Theme": if (language.equals("fr")) { allMessages = getMessages(referentialRgaa3Theme, Locale.FRENCH); } else if (language.equals("en")) { allMessages = getMessages(referentialRgaa3Theme, Locale.ENGLISH); } else if (language.equals("es_fr") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa3Theme, new Locale("es")); } break; case "Criterion": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa3Criterion, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa3Criterion, Locale.ENGLISH); } break; case "Rule": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa3Rule, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa3Rule, Locale.ENGLISH); } break; } break; case "Rgaa2": switch (entity) { case "Theme": if (language.equals("fr")) { allMessages = getMessages(referentialRgaa2Theme, Locale.FRENCH); } else if (language.equals("en")) { allMessages = getMessages(referentialRgaa2Theme, Locale.ENGLISH); } else if (language.equals("es_fr") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa2Theme, new Locale("es")); } break; case "Criterion": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa2Criterion, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa2Criterion, Locale.ENGLISH); } break; case "Rule": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialRgaa2Rule, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialRgaa2Rule, Locale.ENGLISH); } break; } break; case "Aw22": switch (entity) { case "Theme": if (language.equals("fr")) { allMessages = getMessages(referentialAw22Theme, Locale.FRENCH); } else if (language.equals("en")) { allMessages = getMessages(referentialAw22Theme, Locale.ENGLISH); } else if (language.equals("es_fr") || language.equals("es_en")) { allMessages = getMessages(referentialAw22Theme, new Locale("es")); } break; case "Criterion": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialAw22Criterion, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialAw22Criterion, Locale.ENGLISH); } break; case "Rule": if (language.equals("fr") || language.equals("es_fr")) { allMessages = getMessages(referentialAw22Rule, Locale.FRENCH); } else if (language.equals("en") || language.equals("es_en")) { allMessages = getMessages(referentialAw22Rule, Locale.ENGLISH); } break; } break; } for (Map.Entry<String, String> entrySet : allMessages.entrySet()) { String key = entrySet.getKey(); String value; if (htmlTags) { value = StringEscapeUtils.unescapeHtml4(entrySet.getValue()); } else { value = Jsoup.parse(entrySet.getValue()).text(); } result.put(key, value); } return result; } public JSONObject createAuditJson(Audit audit) throws JSONException, ParseException, URISyntaxException { JSONObject auditJson = new JSONObject(); String language = auditLanguage.get(audit.getId()); Boolean descriptionRef = auditDescriptionRef.get(audit.getId()); String ref = auditRef.get(audit.getId()); Boolean htmlTags = auditHtmlTags.get(audit.getId()); auditJson.put("url", auditUrl.get(audit.getId())); auditJson.put("status", audit.getStatus()); auditJson.put("ref", ref); auditJson.put("level", auditLevel.get(audit.getId())); auditJson.put("language", auditLanguage.get(audit.getId())); auditJson.put("screen_width", auditScreenWidth.get(audit.getId())); auditJson.put("screen_height", auditScreenHeight.get(audit.getId())); if (audit.getStatus() == AuditStatus.COMPLETED) { List<ProcessResult> processResultList = (List<ProcessResult>) processResultDataService.getNetResultFromAudit(audit); WebResourceStatistics webResourceStatistics = webResourceStatisticsDataService.getWebResourceStatisticsByWebResource(audit.getSubject()); auditJson.put("score", webResourceStatistics.getRawMark()); auditJson.put("nb_passed", webResourceStatistics.getNbOfPassed()); auditJson.put("nb_failed", webResourceStatistics.getNbOfFailed()); auditJson.put("nb_nmi", webResourceStatistics.getNbOfNmi()); auditJson.put("nb_na", webResourceStatistics.getNbOfNa()); auditJson.put("nb_failed_occurences", webResourceStatistics.getNbOfFailedOccurences()); auditJson.put("nb_detected", webResourceStatistics.getNbOfDetected()); auditJson.put("http_status_code", webResourceStatistics.getHttpStatusCode()); auditJson.put("nb_suspected", webResourceStatistics.getNbOfSuspected()); auditJson.put("nb_not_tested", webResourceStatistics.getNbOfNotTested()); JSONArray remarkArray = new JSONArray(); JSONArray testPassedArray = new JSONArray(); JSONArray testNAArray = new JSONArray(); JSONArray testNTArray = new JSONArray(); JSONObject themesFr = new JSONObject(); JSONObject themesEn = new JSONObject(); JSONObject themesEs = new JSONObject(); JSONObject criterionsFr = new JSONObject(); JSONObject criterionsEn = new JSONObject(); JSONObject testsFr = new JSONObject(); JSONObject testsEn = new JSONObject(); if (descriptionRef) { if (language.equals("fr") || language.equals("all")) { themesFr = getDescriptionFromRef(ref, "fr", "Theme", htmlTags); } if (language.equals("en") || language.equals("all")) { themesEn = getDescriptionFromRef(ref, "en", "Theme", htmlTags); } if (language.equals("es_fr") || language.equals("es_en") || language.equals("all")) { themesEs = getDescriptionFromRef(ref, "es_en", "Theme", htmlTags); } if (language.equals("fr") || language.equals("es_fr") || language.equals("all")) { testsFr = getDescriptionFromRef(ref, "fr", "Rule", htmlTags); criterionsFr = getDescriptionFromRef(ref, "fr", "Criterion", htmlTags); } if (language.equals("en") || language.equals("es_en") || language.equals("all")) { testsEn = getDescriptionFromRef(ref, "en", "Rule", htmlTags); criterionsEn = getDescriptionFromRef(ref, "en", "Criterion", htmlTags); } } for (ProcessResult result : processResultList) { if (result.getTest().getLabel().equals("8.2.1")) { auditJson.put("nb_w3c_invalidated", result.getElementCounter()); } // create testPassed object from ProcessResult JSONObject testPassedObject = new JSONObject(); if (result.getValue().toString().equals("PASSED")) { putTests(result, testPassedObject); testPassedArray.put(testPassedObject); } JSONObject testNTObject = new JSONObject(); if (result.getValue().toString().equals("NOT_TESTED")) { putTests(result, testNTObject); testNTArray.put(testNTObject); } // create testNA object from ProcessResult JSONObject testNAObject = new JSONObject(); if (result.getValue().toString().equals("NOT_APPLICABLE")) { putTests(result, testNAObject); testNAArray.put(testNAObject); } // get remark from processResult & create array of remark int nbrRemarkW3c = 0; Set<ProcessRemark> processRemarkList = (Set<ProcessRemark>) processRemarkDataService.findProcessRemarksFromProcessResult(result, -1); for (ProcessRemark processRemark : processRemarkList) { if (result.getTest().getLabel().equals("8.2.1")) { if (nbrRemarkW3c < 10) { nbrRemarkW3c++; } else { break; } } JSONObject remarkObject = new JSONObject(); String remark_fr, remark_en, remark_es; if (htmlTags) { remark_fr = StringEscapeUtils.unescapeHtml4(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, Locale.FRENCH)); remark_en = StringEscapeUtils.unescapeHtml4(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, Locale.ENGLISH)); remark_es = StringEscapeUtils.unescapeHtml4(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, new Locale("es"))); } else { remark_fr = Jsoup.parse(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, Locale.FRENCH)).text(); remark_en = Jsoup.parse(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, Locale.ENGLISH)).text(); remark_es = Jsoup.parse(remarkMessage.getMessage(processRemark.getMessageCode(), processRemark instanceof SourceCodeRemark ? new Object[]{((SourceCodeRemark) processRemark).getTarget()} : null, new Locale("es"))).text(); } if (processRemark instanceof SourceCodeRemark) { remarkObject.put("issue", processRemark.getIssue()); if (language.equals("fr") || language.equals("all")) { remarkObject.put("message_fr", remark_fr); } if (language.equals("en") || language.equals("all")) { remarkObject.put("message_en", remark_en); } if (language.equals("es_fr") || language.equals("es_en") || language.equals("all")) { remarkObject.put("message_es", remark_es); } //remarkObject.put("target", ((SourceCodeRemark) processRemark).getTarget()); remarkObject.put("line_number", ((SourceCodeRemark) processRemark).getLineNumber()); StringBuilder snippet = new StringBuilder(""); if (((SourceCodeRemark) processRemark).getSnippet() != null) { String snippetDirty = ((SourceCodeRemark) processRemark).getSnippet(); if (htmlTags) { snippet.append(StringEscapeUtils.unescapeHtml4(StringEscapeUtils.unescapeHtml4(snippetDirty.replace("\t", "")))); } else { snippet.append(snippetDirty.replace("\t", "")); } } remarkObject.put("snippet", snippet); } else { remarkObject.put("issue", processRemark.getIssue()); if (language.equals("fr") || language.equals("all")) { remarkObject.put("message_fr", remark_fr); } if (language.equals("en") || language.equals("all")) { remarkObject.put("message_en", remark_en); } if (language.equals("es_fr") || language.equals("es_en") || language.equals("all")) { remarkObject.put("message_es", remark_es); } } putTests(result, remarkObject); remarkArray.put(remarkObject); } } auditJson.put("remarks", remarkArray); auditJson.put("test_passed", testPassedArray); auditJson.put("test_na", testNAArray); auditJson.put("test_nt", testNTArray); if (themesFr.length() != 0) { auditJson.put("themes_description_fr", themesFr); } if (themesEn.length() != 0) { auditJson.put("themes_description_en", themesEn); } if (themesEs.length() != 0) { auditJson.put("themes_description_es", themesEs); } if (criterionsFr.length() != 0) { auditJson.put("criterions_description_fr", criterionsFr); } if (criterionsEn.length() != 0) { auditJson.put("criterions_description_en", criterionsEn); } if (testsFr.length() != 0) { auditJson.put("tests_description_fr", testsFr); } if (testsEn.length() != 0) { auditJson.put("tests_description_en", testsEn); } } return auditJson; } public void putTests(ProcessResult result, JSONObject remarkObject) throws JSONException { String codeTest = result.getTest().getCode(); String codeCriterion = result.getTest().getCriterion().getCode(); String codeTheme = result.getTest().getCriterion().getTheme().getCode(); remarkObject.put("theme", codeTheme); remarkObject.put("test", codeTest); remarkObject.put("criterion", codeCriterion); } @Override public void auditCompleted(Audit audit ) { try { if (auditType.get(audit.getId()) != null) { String messageToSend = ""; audit = auditDataService.read(audit.getId()); logger.debug("Audit terminated with success at " + audit.getDateOfCreation()); if (auditType.get(audit.getId()).equals("Rest")) { JSONObject auditJson = createAuditJson(audit); messageToSend = auditHash.get(audit.getId()) + Separator + auditJson; auditUrl.remove(audit.getId()); auditType.remove(audit.getId()); auditRef.remove(audit.getId()); auditLevel.remove(audit.getId()); auditLanguage.remove(audit.getId()); auditDescriptionRef.remove(audit.getId()); auditScreenWidth.remove(audit.getId()); auditScreenHeight.remove(audit.getId()); auditHtmlTags.remove(audit.getId()); auditHash.remove(audit.getId()); messageConsumerLimit.messageRestAudited(); } else if (auditType.get(audit.getId()).equals("Event")) { messageConsumerLimit.messageEventAudited(); int nbrW3cValidated = 0; if (audit.getStatus() == AuditStatus.COMPLETED) { List<ProcessResult> processResultList = (List<ProcessResult>) processResultDataService.getNetResultFromAudit(audit); for (ProcessResult result : processResultList) { if (result.getTest().getLabel().equals("8.2.1")) { nbrW3cValidated = result.getElementCounter(); } } } messageToSend = dbHost + ";" + dbPort + ";" + dbUserName + ";" + dbPassWord + ";" + dbName + ";" + audit.getId() + ";" + tagsByAudit.get(audit.getId()) + ";" + auditName.get(audit.getId()) + ";" + auditUrl.get(audit.getId()) + ";" + auditHash.get(audit.getId()) + ";" + compaignHash + ";" + nbrW3cValidated + ";" + auditRef.get(audit.getId()) + ";" + audit.getStatus(); tagsByAudit.remove(audit.getId()); auditHash.remove(audit.getId()); auditName.remove(audit.getId()); auditUrl.remove(audit.getId()); auditType.remove(audit.getId()); auditRef.remove(audit.getId()); auditLevel.remove(audit.getId()); } messagesProducer.sendMessage(messageToSend); } } catch (Exception ex) { logger.error("Producer Message Kafka ERROR : " + ex); } } @Override public void auditCrashed(Audit audit, Exception exception ) { //To change body of generated methods, choose Tools | Templates. if (auditType.get(audit.getId()) != null) { logger.error("crash (id+message): " + audit.getId() + " " + exception.toString()); if (auditType.get(audit.getId()).equals("Event")) { messageConsumerLimit.messageEventAudited(); } else if (auditType.get(audit.getId()).equals("Rest")) { messageConsumerLimit.messageRestAudited(); } tagsByAudit.remove(audit.getId()); auditHash.remove(audit.getId()); auditName.remove(audit.getId()); auditUrl.remove(audit.getId()); auditType.remove(audit.getId()); auditRef.remove(audit.getId()); auditLevel.remove(audit.getId()); auditLanguage.remove(audit.getId()); auditDescriptionRef.remove(audit.getId()); auditScreenWidth.remove(audit.getId()); auditScreenHeight.remove(audit.getId()); auditHtmlTags.remove(audit.getId()); } } public void auditPageEvent(String message, Set<Parameter> parameters, String ref, String level) { compaignHash = MessageEvent.getIdCampagne(message); Audit audit = auditService.auditPage(MessageEvent.getUrl(message), parameters); auditType.put(audit.getId(), "Event"); tagsByAudit.put(audit.getId(), MessageEvent.getTags(message)); auditHash.put(audit.getId(), MessageEvent.getHashAudit(message)); auditName.put(audit.getId(), MessageEvent.getName(message)); auditUrl.put(audit.getId(), MessageEvent.getUrl(message)); auditRef.put(audit.getId(), ref); auditLevel.put(audit.getId(), level); } public void auditPageRest(String message, Set<Parameter> parameters, String ref, String level) { Audit audit = auditService.auditPage(MessageRest.getUrl(message), parameters); auditType.put(audit.getId(), "Rest"); auditUrl.put(audit.getId(), MessageRest.getUrl(message)); auditRef.put(audit.getId(), ref); auditLevel.put(audit.getId(), level); auditHash.put(audit.getId(), MessageRest.getHashAudit(message)); auditLanguage.put(audit.getId(), MessageRest.getLanguage(message)); auditDescriptionRef.put(audit.getId(), MessageRest.getDescriptionRef(message)); auditScreenWidth.put(audit.getId(), MessageRest.getScreenWidth(message)); auditScreenHeight.put(audit.getId(), MessageRest.getScreenHeight(message)); auditHtmlTags.put(audit.getId(), MessageRest.getHtmlTags(message)); } }