From dccabbda044d09b3d0fdd0c7d0d76432ceec98a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Walter?= <juergen.walter@uni-wuerzburg.de>
Date: Wed, 15 Mar 2017 16:03:18 +0100
Subject: [PATCH] minor fix: pmx does not break if number of cores is not given

---
 .../descartes/pmx/console/PMXCommandLine.java     |  7 ++++---
 .../pmx/filter/util/PerformanceModelCreator.java  | 15 ++++++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
index 462a3d6e..519bf202 100644
--- a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
+++ b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java
@@ -293,12 +293,13 @@ public class PMXCommandLine {
 		}
 	}
 
-	private static void initFileLogging(String path, String logFileName, Layout layout) {
+	private static void initFileLogging(String directory, String logFileName, Layout layout) {
 		try {
 			// add logging to file
 			//new File(outputDir).isDirectory()?(outputDir):(outputDir+ File.separator)
-			log.info("logging to file "+path + logFileName);
-			FileAppender fileAppender = new FileAppender(layout, logFileName, false);
+			String path = directory + File.separator + logFileName;
+			log.info("logging to file " + path);
+			FileAppender fileAppender = new FileAppender(layout, path, false);
 			BasicConfigurator.configure(fileAppender);
 		} catch (Exception ex) {
 			log.error("Error during inialization of logging");
diff --git a/tools.descartes.pmx/src/tools/descartes/pmx/filter/util/PerformanceModelCreator.java b/tools.descartes.pmx/src/tools/descartes/pmx/filter/util/PerformanceModelCreator.java
index a62abe25..c213cdb5 100644
--- a/tools.descartes.pmx/src/tools/descartes/pmx/filter/util/PerformanceModelCreator.java
+++ b/tools.descartes.pmx/src/tools/descartes/pmx/filter/util/PerformanceModelCreator.java
@@ -29,6 +29,8 @@ package tools.descartes.pmx.filter.util;
 import java.util.Collection;
 import java.util.HashMap;
 
+import org.apache.log4j.Logger;
+
 import kieker.common.util.signature.Signature;
 import kieker.tools.traceAnalysis.systemModel.AllocationComponent;
 import kieker.tools.traceAnalysis.systemModel.AssemblyComponent;
@@ -39,8 +41,7 @@ import kieker.tools.traceAnalysis.systemModel.repository.SystemModelRepository;
 import tools.descartes.pmx.builder.IModelBuilder;
 
 public class PerformanceModelCreator {
-	// private static final Logger log = Logger
-	// .getLogger(PerformanceModelCreator.class);
+	private static final Logger log = Logger.getLogger(PerformanceModelCreator.class);
 	
 	// public static void createPerformanceModel(SystemModelRepository
 	// systemModel, IModelBuilder builder) {
@@ -100,7 +101,15 @@ public class PerformanceModelCreator {
 		final Collection<ExecutionContainer> executionContainers = systemModel
 				.getExecutionEnvironmentFactory().getExecutionContainers();
 		for (ExecutionContainer container : executionContainers) {
-			builder.addHost(container.getName(), numCores.get(container.getName()));
+			int numberOfCores =0;
+			try{
+				numberOfCores = numCores.get(container.getName());
+			}catch (Exception e) {
+				log.error("could not find number of cores for " + container.getName());
+				log.info("assumed numberOfCores = 2");
+				numberOfCores = 2;
+			}
+			builder.addHost(container.getName(), numberOfCores);
 		}
 	}
 
-- 
GitLab