public void serialize() { SerializedData data = new SerializedData(this.serializeAsList(), this.serializeAsJson()); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
@Override public void serializeData(ProjectInspector inspector) { SerializedData data = new SerializedData(this.serializeAsList(inspector), this.serializeAsJson(inspector)); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
@Override public void serializeData(ProjectInspector inspector) { SerializedData data = new SerializedData(this.serializeAsList(inspector), this.serializeAsJson(inspector)); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
@Override public void serialize() { SerializedData data = new SerializedData(this.serializeAsList(), this.serializeAsJson()); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } }
@Override public void serializeData(ProjectInspector inspector) { SerializedData data = new SerializedData(this.serializeAsList(inspector), this.serializeAsJson(inspector)); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
public void serialize() { SerializedData data = new SerializedData(this.serializeAsList(), this.serializeAsJson()); List<SerializedData> allData = new ArrayList<>(); allData.add(data); for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
public void serialize() { if (!this.buildsToBeInspected.isEmpty()) { List<SerializedData> allData = new ArrayList<>(); for (ScannedBuildStatus status : ScannedBuildStatus.values()) { for (BuildToBeInspected buildToBeInspected : this.buildsToBeInspected.get(status)) { allData.add(new SerializedData(this.serializeAsList(buildToBeInspected), this.serializeAsJson(buildToBeInspected))); } } for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } }
@Override public void serializeData(ProjectInspector inspector) { List<SerializedData> allData = new ArrayList<>(); for (RepairPatch repairPatch : inspector.getJobStatus().getAllPatches()) { allData.add(new SerializedData(this.serializeAsList(inspector.getBuildToBeInspected(), repairPatch), this.serializeAsJson(inspector.getBuildToBeInspected(), repairPatch))); } if (!allData.isEmpty()) { for (SerializerEngine engine : this.getEngines()) { engine.serialize(allData, this.getType()); } } } }
@Override public void serializeData(ProjectInspector inspector) { List<SerializedData> data = new ArrayList<>(); for (Map.Entry<String, JsonElement> toolDiag : inspector.getJobStatus().getToolDiagnostic().entrySet()) { SerializedData serializedData = new SerializedData(this.serializeAsList(inspector, toolDiag.getKey(), toolDiag.getValue()), this.serializeAsJson(inspector, toolDiag.getKey(), toolDiag.getValue())); data.add(serializedData); } if (!data.isEmpty()) { for (SerializerEngine engine : this.getEngines()) { engine.serialize(data, this.getType()); } } } }
private void mainProcess() { LOGGER.info("Start by getting the build (buildId: "+this.getConfig().getBuildId()+") with the following config: "+this.getConfig()); this.getBuildToBeInspected(); HardwareInfoSerializer hardwareInfoSerializer = new HardwareInfoSerializer(this.engines, this.getConfig().getRunId(), this.getConfig().getBuildId()+""); hardwareInfoSerializer.serialize(); List<AbstractDataSerializer> serializers = new ArrayList<>(); if (this.getConfig().getLauncherMode() == LauncherMode.BEARS) { serializers.add(new InspectorSerializer4Bears(this.engines)); } else { serializers.add(new InspectorSerializer(this.engines)); } serializers.add(new PropertiesSerializer(this.engines)); serializers.add(new InspectorTimeSerializer(this.engines)); serializers.add(new PipelineErrorSerializer(this.engines)); serializers.add(new PatchesSerializer(this.engines)); serializers.add(new ToolDiagnosticSerializer(this.engines)); ProjectInspector inspector; if (this.getConfig().getLauncherMode() == LauncherMode.BEARS) { inspector = new ProjectInspector4Bears(buildToBeInspected, this.getConfig().getWorkspacePath(), serializers, this.notifiers); } else if (this.getConfig().getLauncherMode() == LauncherMode.CHECKSTYLE) { inspector = new ProjectInspector4Checkstyle(buildToBeInspected, this.getConfig().getWorkspacePath(), serializers, this.notifiers); } else { inspector = new ProjectInspector(buildToBeInspected, this.getConfig().getWorkspacePath(), serializers, this.notifiers); } inspector.setPatchNotifier(this.patchNotifier); inspector.run(); LOGGER.info("Inspector is finished. The process will exit now."); System.exit(0); }
private void initAndRunRTScanner() { LOGGER.info("Init RTScanner..."); LOGGER.info("RTScanner mode : " + this.config.getLauncherMode()); String runId = this.config.getRunId(); HardwareInfoSerializer hardwareInfoSerializer = new HardwareInfoSerializer(this.engines, runId, "rtScanner"); hardwareInfoSerializer.serialize(); RTScanner rtScanner = new RTScanner(runId, this.engines); if (this.summaryNotifier != null) { rtScanner.setSummaryNotifier(this.summaryNotifier); } if (this.config.getDuration() != null && this.endProcessNotifier != null) { rtScanner.setEndProcessNotifier(this.endProcessNotifier); } if (this.config.getWhiteList() != null) { rtScanner.initWhiteListedRepository(this.config.getWhiteList()); } if (this.config.getBlackList() != null) { rtScanner.initBlackListedRepository(this.config.getBlackList()); } LOGGER.info("Start RTScanner..."); rtScanner.launch(); }
private Map<ScannedBuildStatus, List<BuildToBeInspected>> runScanner() throws IOException { Launcher.LOGGER.info("Start to scan projects in Travis..."); ProjectScanner scanner = new ProjectScanner(this.config.getLookFromDate(), this.config.getLookToDate(), this.config.getRunId()); Map<ScannedBuildStatus, List<BuildToBeInspected>> buildsToBeInspected = scanner.getListOfBuildsToBeInspectedFromProjects(this.config.getInputPath()); ProcessSerializer scannerSerializer; if (this.config.getLauncherMode() == LauncherMode.REPAIR) { scannerSerializer = new ScannerSerializer(this.engines, scanner); } else { scannerSerializer = new ScannerSerializer4Bears(this.engines, scanner); ScannerDetailedDataSerializer scannerDetailedDataSerializer = new ScannerDetailedDataSerializer(this.engines, buildsToBeInspected); scannerDetailedDataSerializer.serialize(); } scannerSerializer.serialize(); Launcher.LOGGER.info("---------------------------------------------------------------"); Launcher.LOGGER.info("Scanner results."); Launcher.LOGGER.info("---------------------------------------------------------------"); if (buildsToBeInspected.isEmpty()) { Launcher.LOGGER.info("No build interesting to be inspected has been found ("+scanner.getTotalScannedBuilds()+" scanned builds.)"); } else { Launcher.LOGGER.info(buildsToBeInspected.size()+" builds interesting to be inspected have been found ("+scanner.getTotalScannedBuilds()+" scanned builds.)"); } return buildsToBeInspected; }
@Override public void serialize(List<SerializedData> data, SerializerType serializer) { String filename = serializer.getFilename()+FILE_EXTENSION; BufferedWriter writer = this.openFile(filename); if (writer != null) { for (SerializedData row : data) { String rowStr = StringUtils.join(row.getAsList(), SEPARATOR); this.writeNewLine(writer, rowStr); } try { writer.close(); } catch (IOException e) { logger.error("Error while clonse file", e); } } } }
@Override public void serialize(List<SerializedData> data, SerializerType serializer) { String filename = serializer.getFilename()+FILE_EXTENSION; BufferedWriter writer = this.openFile(filename); if (writer != null) { try { for (SerializedData oneData : data) { writer.write(oneData.getAsJson().toString()); writer.newLine(); writer.flush(); } writer.close(); } catch (IOException e) { logger.error("Error while writing json serialization", e); } } } }
@Override public void serialize(List<SerializedData> data, SerializerType serializer) { if (this.mongoDatabase != null) { MongoCollection<Document> collection = this.mongoDatabase.getCollection(serializer.getFilename()); List<Document> listDocuments = new ArrayList<>(); for (SerializedData oneData : data) { Document doc = Document.parse(oneData.getAsJson().toString()); /*try { collection.insertOne(doc); } catch (Exception e) { logger.error("Error while inserting doc",e); }*/ listDocuments.add(doc); } try { collection.insertMany(listDocuments); } catch (Exception e) { logger.error("Error while inserting all documents", e); } } else { logger.error("Mongo connection is null, there was certainly a problem with the connection."); } } }
private JsonElement serializeAsJson(ProjectInspector inspector, String toolName, JsonElement jsonElement) { BuildToBeInspected buildToBeInspected = inspector.getBuildToBeInspected(); JsonObject data = new JsonObject(); data.addProperty("dateStr", Utils.formatCompleteDate(new Date())); this.addDate(data, "date", new Date()); data.addProperty("runId", buildToBeInspected.getRunId()); data.addProperty("buildId", buildToBeInspected.getBuggyBuild().getId()); data.addProperty("toolname", toolName); data.add("diagnostic", jsonElement); return data; }
private JsonElement serializeAsJson(BuildToBeInspected buildToBeInspected, RepairPatch patch) { Build build = buildToBeInspected.getBuggyBuild(); JsonObject data = new JsonObject(); data.addProperty("dateStr", Utils.formatCompleteDate(new Date())); this.addDate(data, "date", new Date()); data.addProperty("runId", buildToBeInspected.getRunId()); data.addProperty("buildId", build.getId()); data.addProperty("toolname", patch.getToolname()); data.addProperty("diff", patch.getDiff()); data.addProperty("filepath", patch.getFilePath()); data.addProperty("hostname", Utils.getHostname()); return data; }
private JsonElement serializeAsJson() { JsonObject result = new JsonObject(); result.addProperty("hostname", Utils.getHostname()); result.addProperty("dateBeginStr", Utils.formatCompleteDate(this.scanner.getScannerRunningBeginDate())); this.addDate(result, "dateBegin", this.scanner.getScannerRunningBeginDate()); result.addProperty("dateLimitStr", Utils.formatCompleteDate(this.scanner.getLookFromDate())); this.addDate(result, "dateLimit", this.scanner.getLookFromDate()); result.addProperty("dayLimit", Utils.formatOnlyDay(this.scanner.getLookFromDate())); result.addProperty("totalRepoNumber", this.scanner.getTotalRepoNumber()); result.addProperty("totalRepoUsingTravis", this.scanner.getTotalRepoUsingTravis()); result.addProperty("totalScannedBuilds", this.scanner.getTotalScannedBuilds()); result.addProperty("totalJavaBuilds", this.scanner.getTotalBuildInJava()); result.addProperty("totalJavaPassingBuilds", this.scanner.getTotalJavaPassingBuilds()); result.addProperty("totalJavaFailingBuilds", this.scanner.getTotalBuildInJavaFailing()); result.addProperty("totalJavaFailingBuildsWithFailingTests", this.scanner.getTotalBuildInJavaFailingWithFailingTests()); result.addProperty("totalPRBuilds", this.scanner.getTotalPRBuilds()); result.addProperty("duration", this.scanner.getScannerDuration()); result.addProperty("runId", this.scanner.getRunId()); return result; }
private JsonElement serializeAsJson() { JsonObject result = new JsonObject(); result.addProperty("hostname", Utils.getHostname()); result.addProperty("dateBeginStr", Utils.formatCompleteDate(this.scanner.getScannerRunningBeginDate())); this.addDate(result, "dateBegin", this.scanner.getScannerRunningBeginDate()); result.addProperty("dateEndStr", Utils.formatCompleteDate(this.scanner.getScannerRunningEndDate())); this.addDate(result, "dateEnd", this.scanner.getScannerRunningEndDate()); result.addProperty("duration", this.scanner.getScannerDuration()); result.addProperty("dateLookedFromStr", Utils.formatCompleteDate(this.scanner.getLookFromDate())); this.addDate(result, "dateLookedFrom", this.scanner.getLookFromDate()); result.addProperty("dateLookedToStr", Utils.formatCompleteDate(this.scanner.getLookToDate())); this.addDate(result, "dateLookedTo", this.scanner.getLookToDate()); result.addProperty("totalRepoNumber", this.scanner.getTotalRepoNumber()); result.addProperty("totalRepoUsingTravis", this.scanner.getTotalRepoUsingTravis()); result.addProperty("totalScannedBuilds", this.scanner.getTotalScannedBuilds()); result.addProperty("totalJavaBuilds", this.scanner.getTotalBuildInJava()); result.addProperty("totalJavaPassingBuilds", this.scanner.getTotalJavaPassingBuilds()); result.addProperty("totalJavaFailingBuilds", this.scanner.getTotalBuildInJavaFailing()); result.addProperty("totalJavaFailingBuildsWithFailingTests", this.scanner.getTotalBuildInJavaFailingWithFailingTests()); result.addProperty("totalPRBuilds", this.scanner.getTotalPRBuilds()); result.addProperty("totalFailingAndPassingBuildPairs", this.scanner.getTotalNumberOfFailingAndPassingBuildPairs()); result.addProperty("totalPassingAndPassingBuildPairs", this.scanner.getTotalNumberOfPassingAndPassingBuildPairs()); result.addProperty("totalPairOfBuilds", this.scanner.getTotalNumberOfFailingAndPassingBuildPairs() + this.scanner.getTotalNumberOfPassingAndPassingBuildPairs()); result.addProperty("runId", this.scanner.getRunId()); return result; }
private void serializeData() { if (serializers != null) { if (RepairnatorConfig.getInstance().getLauncherMode() == LauncherMode.BEARS) { this.getLogger().info("Serialize all data for the pair of builds " + this.getInspector().getBuggyBuild().getId() + ", " + this.getInspector().getPatchedBuild().getId()); } else { this.getLogger().info("Serialize all data for build: " + this.getInspector().getBuggyBuild().getId()); } for (AbstractDataSerializer serializer : this.serializers) { serializer.serializeData(this.inspector); } } }