BP-766 remove use of apache.common.io to remove conflict with birt
diff --git a/oKBereitschaftsplanungBackend/pom.xml b/oKBereitschaftsplanungBackend/pom.xml
index ec6e3da..c77446f 100644
--- a/oKBereitschaftsplanungBackend/pom.xml
+++ b/oKBereitschaftsplanungBackend/pom.xml
@@ -135,13 +135,6 @@
 			<version>1.10</version>
 		</dependency>
 
-		<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
-		<dependency>
-			<groupId>commons-io</groupId>
-			<artifactId>commons-io</artifactId>
-			<version>2.6</version>
-		</dependency>
-
 		<!-- Dozer Mapper -->
 		<dependency>
 			<groupId>net.sf.dozer</groupId>
@@ -261,6 +254,14 @@
 			<version>1.3.168</version>
 			<scope>test</scope>
 		</dependency>
+		
+		<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.6</version>
+			<scope>test</scope>
+		</dependency>
 
 		<!-- swagger -->
 		<dependency>
@@ -314,8 +315,21 @@
 					<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
 					<artifactId>org.apache.commons.codec</artifactId>
 				</exclusion>
+				<!-- <exclusion>
+					<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
+					<artifactId>org.apache.batik.pdf</artifactId>
+				</exclusion> -->
 			</exclusions>
 		</dependency>
+
+		<!-- https://mvnrepository.com/artifact/org.eclipse.birt.runtime.3_7_1/org.apache.batik.pdf -->
+		<!-- <dependency>
+			<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
+			<artifactId>org.apache.batik.pdf</artifactId>
+			<version>1.6.0m</version>
+			<scope>runtime</scope>
+		</dependency> -->
+
 	</dependencies>
 
 	<profiles>
@@ -512,20 +526,59 @@
 					</execution>
 				</executions>
 			</plugin>
-			<!-- <plugin> <groupId>com.github.kongchen</groupId> <artifactId>swagger-maven-plugin</artifactId> 
-				<version>${swagger-maven-plugin-version}</version> <configuration> <skipSwaggerGeneration>false</skipSwaggerGeneration> 
-				<apiSources> <apiSource> <springmvc>false</springmvc> <locations> <location>org.eclipse.openk</location> 
-				</locations> <schemes> <shema>http</shema> </schemes> <host>localhost:9050</host> 
-				<basePath>/mics/gridMeasures</basePath> <info> <title>plannedGridMeasures@openK 
-				- Backend REST-Service documentation</title> <version>v1</version> <description>This 
-				documentation contains the description of all used REST services.</description> 
-				<termsOfService> . </termsOfService> <contact> <email>nn@pta.de</email> <name></name> 
-				</contact> <license> <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> 
-				<name>Apache 2.0</name> </license> </info> <outputFormats>yaml</outputFormats> 
-				<templatePath>${basedir}/templates/strapdown.html.hbs</templatePath> <outputPath>target/generated-docs/swaggerInterfaceDocumentation.html</outputPath> 
-				<swaggerDirectory>target/generated-docs</swaggerDirectory> <securityDefinitions> 
-				<securityDefinition> <json>/securityDefinitions.json</json> </securityDefinition> 
-				</securityDefinitions> </apiSource> </apiSources> </configuration> </plugin> -->
+			<plugin>
+				<groupId>com.github.kongchen</groupId>
+				<artifactId>swagger-maven-plugin</artifactId>
+				<version>${swagger-maven-plugin-version}</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>generate</goal>
+						</goals>
+						<configuration>
+							<skipSwaggerGeneration>true</skipSwaggerGeneration>
+							<apiSources>
+								<apiSource>
+									<springmvc>false</springmvc>
+									<locations>
+										<location>org.eclipse.openk</location>
+									</locations>
+									<schemes>
+										<shema>http</shema>
+									</schemes>
+									<host>localhost:8080</host>
+									<basePath>/spbe/webapi</basePath>
+									<info>
+										<title>spbe@openK
+											- Backend REST-Service documentation</title>
+										<version>v1</version>
+										<description>This
+											documentation contains the description of all
+											used REST services.</description>
+										<termsOfService> . </termsOfService>
+										<contact>
+											<email>mgcUser@mettenmeier.de</email>
+											<name></name>
+										</contact>
+										<license>
+											<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+											<name>Apache 2.0</name>
+										</license>
+									</info>
+									<outputFormats>yaml</outputFormats>
+									<templatePath>${basedir}/templates/strapdown.html.hbs</templatePath>
+									<outputPath>target/generated-docs/swaggerInterfaceDocumentation.html</outputPath>
+									<swaggerDirectory>target/generated-docs</swaggerDirectory>
+									<!-- <securityDefinitions> <securityDefinition> <json>/securityDefinitions.json</json> 
+										</securityDefinition> </securityDefinitions> -->
+								</apiSource>
+							</apiSources>
+						</configuration>
+
+					</execution>
+				</executions>
+			</plugin>
+
 		</plugins>
 	</build>
 	<artifactId>spbe</artifactId>
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
index c69b3ac..edf5b71 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/reports/ReportController.java
@@ -37,8 +37,6 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.core.MediaType;
 
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpStatus;
 import org.apache.log4j.Logger;
 import org.eclipse.birt.core.framework.Platform;
@@ -161,36 +159,44 @@
 	 * Method to query all reports.
 	 * 
 	 * @return
+	 * @throws SpException
 	 */
-	public List<ReportDto> getReports() {
+	public List<ReportDto> getReports() throws SpException {
 		ArrayList<ReportDto> listReports = new ArrayList<>();
-		init();
+		try {
+			init();
 
-		for (File file : fileHelper.loadFolderFromFileSystemOrResource(reportDirectory, true).listFiles()) {
+			for (File file : fileHelper.loadFolderFromFileSystemOrResource(reportDirectory, true).listFiles()) {
 
-			String fileExtension = FilenameUtils.getExtension(file.getAbsolutePath());
-			if (allowedReports.contains(fileExtension)) {
+				String fileExtension = FileHelper.getFileExtension(file);
+				if (allowedReports.contains(fileExtension)) {
 
-				String reportName = FilenameUtils.removeExtension(file.getName());
-				ReportDto reportDto = new ReportDto();
-				reportDto.setReportName(reportName);
+					String reportName = file.getName();
+					reportName = reportName.substring(0, reportName.lastIndexOf('.'));
+					ReportDto reportDto = new ReportDto();
+					reportDto.setReportName(reportName);
 
-				int defaultDayRange = 7;
-				// setting default dayrange
-				if (reportName.equals(ReportController.REPORT_ALL_GROUPS)) {
-					defaultDayRange = 30;
+					int defaultDayRange = 7;
+					// setting default dayrange
+					if (reportName.equals(ReportController.REPORT_ALL_GROUPS)) {
+						defaultDayRange = 30;
+					}
+
+					reportDto.setDefaultDayRange(defaultDayRange);
+					listReports.add(reportDto);
+
 				}
-
-				reportDto.setDefaultDayRange(defaultDayRange);
-				listReports.add(reportDto);
-
 			}
+
+			// sorting by reportname
+			Collections.sort(listReports, (o1, o2) -> o1.getReportName().compareTo(o2.getReportName()));
+
+			return listReports;
+		} catch (Exception e) {
+			SpErrorEntry ee = SpExceptionEnum.DEFAULT_EXCEPTION.getEntry();
+			ee.setE(e);
+			throw new SpException(ee);
 		}
-
-		// sorting by reportname
-		Collections.sort(listReports, (o1, o2) -> o1.getReportName().compareTo(o2.getReportName()));
-
-		return listReports;
 	}
 
 	public File generateReport(ReportDto reportDto) throws SpException {
@@ -488,7 +494,7 @@
 		String newHtmlBody = null;
 		if (is != null) {
 
-			String htmlBody = IOUtils.toString(is, StandardCharsets.UTF_8.name());
+			String htmlBody = FileHelper.getTextFromInputStream(is, StandardCharsets.UTF_8);
 
 			newHtmlBody = MessageFormat.format(htmlBody, obj);
 
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/config/DbInitializer.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/config/DbInitializer.java
index 470df0a..6ffceb1 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/config/DbInitializer.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/db/config/DbInitializer.java
@@ -23,7 +23,6 @@
 import java.text.MessageFormat;
 import java.util.Properties;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.log4j.Logger;
 import org.eclipse.openk.sp.util.FileHelper;
 import org.springframework.stereotype.Service;
@@ -135,7 +134,7 @@
 		String result = "";
 		InputStream is = fh.loadFileFromResource(fileName);
 		if (is != null) {
-			result = IOUtils.toString(is, StandardCharsets.UTF_8.name());
+			result = FileHelper.getTextFromInputStream(is, StandardCharsets.UTF_8);					
 		}
 		return result;
 	}
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
index 02e2a8a..62a60c7 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/mail/MailRequest.java
@@ -18,7 +18,6 @@
 import java.text.MessageFormat;
 import java.util.Properties;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.commons.mail.EmailException;
 import org.apache.commons.mail.HtmlEmail;
 import org.apache.log4j.Logger;
@@ -66,7 +65,7 @@
 		String newHtmlBody = null;
 		if (is != null) {
 
-			String htmlBody = IOUtils.toString(is, StandardCharsets.UTF_8.name());
+			String htmlBody = FileHelper.getTextFromInputStream(is, StandardCharsets.UTF_8);
 
 			newHtmlBody = MessageFormat.format(htmlBody, obj);
 
@@ -239,5 +238,6 @@
 		return mailGenerator.generateMail(null, mailAddress, sendersName, sendersMail, subject, body, properties);
 
 	}
-
+	
+	
 }
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
index 2627520..ddddd0b 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
@@ -12,13 +12,21 @@
  ********************************************************************************/
 package org.eclipse.openk.sp.util;
 
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Properties;
 
 import org.apache.log4j.Logger;
+import org.eclipse.openk.sp.exceptions.SpErrorEntry;
+import org.eclipse.openk.sp.exceptions.SpException;
+import org.eclipse.openk.sp.exceptions.SpExceptionEnum;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -115,4 +123,38 @@
 		return propValue;
 	}
 
+	/**
+	 * Method to read the InputStream as UTF-8 String.
+	 * 
+	 * @param is
+	 * @return
+	 * @throws IOException
+	 */
+	public static String getTextFromInputStream(InputStream is, Charset charset) throws IOException {
+		StringBuilder textBuilder = new StringBuilder();
+		try (Reader reader = new BufferedReader(new InputStreamReader(is, Charset.forName(charset.name())))) {
+			int c = 0;
+			while ((c = reader.read()) != -1) {
+				textBuilder.append((char) c);
+			}
+			return textBuilder.toString();
+		}
+	}
+
+	/**
+	 * Method to read the file extension from given file.
+	 * 
+	 * @param f
+	 * @return
+	 * @throws Exception
+	 */
+	public static String getFileExtension(File f) throws SpException {
+		try {
+			String[] arrString = f.getName().split("\\.");
+			return arrString[arrString.length - 1];
+		} catch (Exception e) {
+			LOGGER.error(e, e);
+			throw new SpException(SpExceptionEnum.DEFAULT_EXCEPTION.getEntry());
+		}
+	}
 }
diff --git a/oKBereitschaftsplanungBackend/src/test/java/org/eclipse/openk/sp/controller/reports/ReportControllerTest.java b/oKBereitschaftsplanungBackend/src/test/java/org/eclipse/openk/sp/controller/reports/ReportControllerTest.java
index 3b80dde..ea0ba91 100644
--- a/oKBereitschaftsplanungBackend/src/test/java/org/eclipse/openk/sp/controller/reports/ReportControllerTest.java
+++ b/oKBereitschaftsplanungBackend/src/test/java/org/eclipse/openk/sp/controller/reports/ReportControllerTest.java
@@ -240,6 +240,9 @@
 		} catch (IOException e) {
 			LOGGER.error(e, e);
 			assertNull(e);
+		} catch (SpException e) {
+			LOGGER.error(e, e);
+			assertNull(e);
 		}
 	}