Page 1 of 1

Mehrfacher CSV-Export jvx 2.0.1 => 2.5.1

PostPosted: Mon Oct 10, 2016 1:56 pm
by mzeller
Hallo,

ich habe ein Problem beim Update von jvx 2.0.1 auf 2.5.1

Folgender Unit-Test funktioniert unter 2.0.1:

Code: Select all

DashboardManagement session = new DashboardManagement();
session.put("dBAccess", dbAccess);

Exception ex = null;

try {

   // EXPORT 1
   File sf = new File(MULTIPLEFILEPATH1);
   Files.deleteIfExists(sf.toPath());

   FileHandle lfh = new FileHandle(MULTIPLEFILEPATH1);

   DBStorage db = session.getStandardDBStorage("v_article_data");
   db.setWhereClause("type= CAST('normal' as article_type) or type= CAST('compound' as article_type)");
   IFileHandle fh = db.createCSV(null, null, null, new SortDefinition("name"));

   assertNotNull(fh);


   // EXPORT 2
   File sf2 = new File(MULTIPLEFILEPATH2);
   Files.deleteIfExists(sf2.toPath());

   FileHandle lfh2 = new FileHandle(MULTIPLEFILEPATH2);

   DBStorage db2 = session.getStandardDBStorage("v_article_data");
   db2.setWhereClause("type= CAST('normal' as article_type) or type= CAST('compound' as article_type)");

   // ==> EXCEPTION HIER: ------------
   IFileHandle fh2 = db2.createCSV(null, null, null, new SortDefinition("name"));

   assertNotNull(fh2);

         
} catch (Exception e) {
   ex = e;
   e.printStackTrace(System.err);
}

assertNull(ex);



Ich versuche hier 2 CSV-Exporte hintereinander auszuführen. Einer alleine funktioniert, mehrere hintereinander nicht.

Hier die Exception (wo, siehe oben im Code-Kommentar):

Code: Select all

javax.rad.model.ModelException: Column 'id' doesn't exist in MetaData!
   at com.sibvisions.rad.persist.jdbc.ServerMetaData.getServerColumnMetaData(ServerMetaData.java:215)
   at com.sibvisions.rad.persist.jdbc.DBStorage.writeCSV(DBStorage.java:364)
   at com.sibvisions.rad.persist.AbstractStorage.createCSV(AbstractStorage.java:591)
   at com.sibvisions.rad.persist.AbstractStorage.createCSV(AbstractStorage.java:520)
   at at.kabran.vms.test.common.CSVExportTest.testMultipleCSVExports(CSVExportTest.java:102)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:497)
   at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
   at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
   at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
   at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
   at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
   at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
   at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
   at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
   at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
   at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
   at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
   at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
   at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)



Scheinbar gibt es da Probleme mit den Metadaten.

(Ich verwende bei beiden Versionen die gleiche Datenbank.)
Was ist hier der Unterschied bei den beiden Versionen?

Danke.

Re: Mehrfacher CSV-Export jvx 2.0.1 => 2.5.1

PostPosted: Mon Oct 10, 2016 2:43 pm
by Development@SIB
Sie haben diesen Bug erwischt: writeCSV changes QueryColumns Array in ServerMetaData

Sie können mit einem nightly build testen oder close/open der Storage aufrufen.