Skip to content
Snippets Groups Projects

Move away from experimental changes

Merged Rico Bergmann requested to merge experimental into develop
1 file
+ 25
16
Compare changes
  • Side-by-side
  • Inline
package org.rosi_project.model_sync.generator.io
package org.rosi_project.model_sync.generator.io
import java.io.{BufferedInputStream, FileInputStream, FileOutputStream, PrintWriter}
import java.io.{ BufferedInputStream, FileInputStream, FileOutputStream, PrintWriter }
import java.net.URLClassLoader
import java.net.URLClassLoader
import java.nio.file.Files
import java.nio.file.Files
import java.util.jar.{Attributes, JarEntry, JarOutputStream, Manifest}
import java.util.jar.{ Attributes, JarEntry, JarOutputStream, Manifest }
import org.rosi_project.model_sync.generator.acr.{SAttribute, SClass, SMethod, SType}
import org.rosi_project.model_sync.generator.acr.{ SAttribute, SClass, SMethod, SType }
import org.rosi_project.model_sync.generator.sync_model.{SModel, SModelVisitor}
import org.rosi_project.model_sync.generator.sync_model.{ SModel, SModelVisitor }
import scala.reflect.io.{File, Path}
import scala.reflect.io.{ File, Path }
import scala.tools.nsc.reporters.ConsoleReporter
import scala.tools.nsc.reporters.ConsoleReporter
import scala.tools.nsc.{GenericRunnerSettings, Global, Settings}
import scala.tools.nsc.{ GenericRunnerSettings, Global, Settings }
import scala.util.control.Breaks._
import scala.util.control.Breaks._
/**
/** @author Rico Bergmann
* @author Rico Bergmann
*/
*/
class SModelFSWriter extends SModelVisitor {
class SModelFSWriter extends SModelVisitor {
@@ -138,14 +137,24 @@ class SModelFSWriter extends SModelVisitor {
@@ -138,14 +137,24 @@ class SModelFSWriter extends SModelVisitor {
}
}
private def adaptClassPathToOSEnv(cp: List[String]): List[String] = {
private def adaptClassPathToOSEnv(cp: List[String]): List[String] = {
// TODO adapt for UNIX systems (only works on windows right now)
sys.props("os.name").toLowerCase match {
cp.map(entry => {
case win if win contains "windows" =>
val UrlRegex = """file:/(.*)""".r
cp.map(entry => {
entry match {
val WinUrl = """file:/(.*)""".r
case UrlRegex(path) => path
entry match {
case p => p
case WinUrl(path) => path
}
case p => p
}).map(_.replaceAll("/", "\\\\").replaceAll("%20", " "))
}
 
}).map(_.replaceAll("/", "\\\\").replaceAll("%20", " "))
 
case unix =>
 
val UnixUrl = """file:(.*)""".r
 
cp.map(entry => {
 
entry match {
 
case UnixUrl(path) => path
 
case p => p
 
}
 
})
 
}
}
}
}
}
Loading