소스 검색

Fix merge.

bentleyjoakes 6 년 전
부모
커밋
0363058490

+ 0 - 11
.gitignore

@@ -1,17 +1,6 @@
 # ---> Java
 *.class
 
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
 /HintCO/bin/
 /HintCO/xtend-gen/
 /HintCO/instances/generated

+ 5 - 0
HintCO/.settings/org.eclipse.jdt.core.prefs

@@ -1,7 +1,12 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

+ 7 - 1
HintCO/META-INF/MANIFEST.MF

@@ -3,7 +3,13 @@ Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: ua.ansymo.HintCO;singleton:=true
 Bundle-Version: 0.0.0.1
-Bundle-ClassPath: .
+Bundle-ClassPath: .,
+ lib/commons-compress-1.18.jar,
+ lib/commons-io-2.6.jar,
+ lib/fmi2.jar,
+ lib/jnifmuapi.jar,
+ lib/slf4j-api.jar,
+ lib/slf4j-simple.jar
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Automatic-Module-Name: ua.ansymo.HintCO

+ 12 - 3
HintCO/build.properties

@@ -1,15 +1,24 @@
 source.. = src/,\
            xtend-gen/,\
            test/,\
-           src-gen/
+           src-gen/,\
+           lib/nativebinaries/,\
+           resources/
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
                plugin.properties,\
-               lib/,\
                bin/,\
                src/,\
                src-gen/,\
                test/,\
-               xtend-gen/
+               xtend-gen/,\
+               resources/,\
+               lib/commons-compress-1.18.jar,\
+               lib/commons-io-2.6.jar,\
+               lib/fmi2.jar,\
+               lib/jnifmuapi.jar,\
+               lib/slf4j-api.jar,\
+               lib/slf4j-simple.jar
+jars.compile.order = .

BIN
HintCO/lib/commons-compress-1.18-sources.jar


BIN
HintCO/lib/commons-compress-1.18.jar


BIN
HintCO/lib/commons-io-2.6-sources.jar


BIN
HintCO/lib/commons-io-2.6.jar


BIN
HintCO/lib/fmi2-sources.zip


BIN
HintCO/lib/fmi2.jar


BIN
HintCO/lib/jnifmuapi-sources.jar


BIN
HintCO/lib/jnifmuapi.jar


BIN
HintCO/lib/slf4j-api-sources.jar


BIN
HintCO/lib/slf4j-api.jar


BIN
HintCO/lib/slf4j-simple-sources.jar


BIN
HintCO/lib/slf4j-simple.jar


+ 1 - 0
HintCO/model/Candidates.xcore

@@ -53,6 +53,7 @@ class CandidateScenario extends IDed, Alternative {
 
 class CosimUnitDeclaration extends IDed {
 	contains PortDeclaration[] ports
+	String path
 }
 
 class HierarchicalCosimUnitDeclaration extends CosimUnitDeclaration {

BIN
HintCO/resources/watertank.fmu


+ 0 - 1
HintCO/src/ua/ansymo/hintco/CandidatesGenerator.xtend

@@ -7,7 +7,6 @@ import java.util.List
 import java.util.Map
 import java.util.Set
 import org.eclipse.core.runtime.Assert
-import java.util.LinkedList
 
 class CandidatesGenerator {
 	

+ 46 - 0
HintCO/test/ua/ansymo/hintco/test/CosimRunnerTest.xtend

@@ -1,14 +1,58 @@
 package ua.ansymo.hintco.test
 
+import java.io.File
+import org.intocps.fmi.jnifmuapi.Factory
 import org.junit.Test
 import ua.ansymo.hintco.CandidatesGenerator
 import ua.ansymo.hintco.CosimRunner
 import ua.ansymo.hintco.ModelStorage
 
+import static org.junit.Assert.*
+import org.intocps.fmi.IFmuCallback
+import org.intocps.fmi.Fmi2Status
+
 class CosimRunnerTest {
 	val generator = new CandidatesGenerator()
 	val loader = new ModelStorage()
 	
+	@Test
+	def void loadAndRunFMUTest(){
+		val fmu = Factory.create(new File("resources/watertank.fmu"))
+		assertNotNull(fmu)
+		fmu.load()
+		val fmuInstance = fmu.instantiate("{8c4e810f-3df3-4a00-8276-176fa3c9f001}", "watertank", true, true, new IFmuCallback()
+		{
+			override log(String instanceName, Fmi2Status status, String category, String message) {
+				println("log: " + instanceName + " " + status + " "
+						+ category + " " + message);
+			}
+			
+			override stepFinished(Fmi2Status status) {
+				
+			}
+		})
+		
+		val valve = #[4l]
+		val level = #[2l]
+		
+		fmuInstance.setupExperiment(false,0.0,0.0,false,0.0)
+		fmuInstance.enterInitializationMode()
+		fmuInstance.setBooleans(valve, #[false])
+		fmuInstance.exitInitializationMode()
+		
+		var l = fmuInstance.getReal(level)
+		assertTrue(l.status == Fmi2Status.OK)
+		assertTrue(l.result.head > 0.9 && l.result.head < 1.1)
+		
+		fmuInstance.setBooleans(valve, #[false])
+		fmuInstance.doStep(0.0, 1.0, true)
+		
+		l = fmuInstance.getReal(level)
+		assertTrue(l.status == Fmi2Status.OK)
+		assertTrue(l.result.head > 1.5)
+	}
+	
+	
 	@Test
 	def void executeCosimulationTest(){
 		val src = loader.loadCandidates("instances/execute_cosim_test.xmi")
@@ -26,4 +70,6 @@ class CosimRunnerTest {
 			])
 	}
 	
+	
+	
 }