Op 19-3-2013 16:35, Reto Bachmann-Gmür schreef: > On Tue, Mar 19, 2013 at 3:59 PM, Andy Seaborne <[email protected]> wrote: > >> On 19/03/13 13:57, Reto Bachmann-Gmür wrote: >> >>> So for the problem with the tdb tc provider I've made a first commit on >>> issue CLEREZZA-749. >>> >>> It doesn't solve the problem only shows it more clearly. >>> >>> Apparently jena tdb keeps the files open even after Graph.close has been >>> called making it impossible to delete them. I'm not sure how this could be >>> solved or if we should raise an issue again Jena TDB. >>> >> (you are using an old version of TDB - even without transactions, updating >> will pick up various important bug fixes) >> > Ok. > >> A graph is just a stateless view on the database so closing a graph is a >> bit of a no-op (it syncs the files if not transactional). Just forgetting >> about them is fine, no close required. Or do a removeAll() to clear them. >> > The problem is that the underlying files are not closed and so they cannot > be deleted under windows. removeAll seems not to be available in the > version we are using. > > @Minto is the patch for CLEREZZA-726 ready to be applied or are you working > on an update version? @Reto unfortunately it is not yet ready. Since that patch Apache Jena has had additional releases.
Recently I tried to redo the upgrade but again failed miserably. In addition to my previous attempt it appears that the Reifier in Jena has gone. This breaks clerezza code (DirectReifier). I continued by removing it but I have no clue what the consequences will be. My changes this far can be found at: https://github.com/misl/clerezza/commit/12e824ee8ce5479939b37bcfced9b36c04952865 However note that these changes were done on the Clerezza GitHub mirror [1]. Which is not kept in sync with SVN. [1] https://github.com/apache/clerezza > >> TDB caches databases - it's expensive to keep opening and closing them (no >> disk caching benefits) and tracking whether its in use in Java isn't very >> helpful. You can flush the cache but that will not avoid the windows issue. >> > It could close the file when close on the graph is explicitely invoked? > Besides the window issue unix systems aren't happy either if they have to > keep unsued filehandler open. > > >> Outside testing, don't delete a database while running. >> > So in tests there's apossibility I can remove the database files? > >> You can run in direct mode when database files are deletable (as happens >> when running on a 32 bit JVM). >> > I'm also having the issue when invoking: > > TDB.getContext().set(Symbol.create("tdb:fileMode"), "direct"); > > Cheers, > Reto > >> Andy >> >> >> >>> Cheers, >>> Reto >>> >>> >>> On Tue, Mar 19, 2013 at 11:23 AM, Reto Bachmann-Gmür <[email protected] >>>> wrote: >>> Hi Minto >>>> I can reproduce the tdb error and I found what's going wrong. I'm working >>>> on a fix. >>>> >>>> I don't have any other failing module (fixed file storage earlier). >>>> >>>> Cheers, >>>> Reto >>>> >>>> >>>> >>>> >>>> On Tue, Mar 19, 2013 at 11:09 AM, Minto van der Sluis <[email protected] >>>>> wrote: >>>> I get the following errors: >>>>> _*platform.typerendering.**seedsnipe*_ >>>>> >>>>> Failed tests: >>>>> ifTest(org.apache.clerezza.**platform.typerendering.** >>>>> seedsnipe.GenericTest) >>>>> >>>>> Tests run: 7, Failures: 1, Errors: 0, Skipped: 0 >>>>> >>>>> _*rdf.jena.tdb.storage*_ >>>>> >>>>> Tests in error: >>>>> dateStorage(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> dateStorage(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> >>>>> >>>>> testAddCountAndGetTriples(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testAddCountAndGetTriples(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveAllTriples(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveAllTriples(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testUseTypedLiterals(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testUseTypedLiterals(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testUseLanguageLiterals(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testUseLanguageLiterals(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveViaIterator(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveViaIterator(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testAddSingleTriple(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testAddSingleTriple(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testAddSameTripleTwice(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testAddSameTripleTwice(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveSingleTriple(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveSingleTriple(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveSameTripleTwice(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testRemoveSameTripleTwice(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> testGetSameBNode(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> testGetSameBNode(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfContained(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfContained(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfEmpty(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfEmpty(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfNotContained(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> testContainsIfNotContained(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> testFilterEmptyGraph(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testFilterEmptyGraph(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testFilterSingleEntry(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> testFilterSingleEntry(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> testFilterByObject(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> >>>>> testFilterByObject(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestAddRemove(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestAddRemove(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestFilterRemove(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestFilterRemove(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestIteratorRemove(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestIteratorRemove(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestClear(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestClear(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestWithDelay(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestWithDelay(org.**apache.clerezza.rdf.jena.tdb.** >>>>> storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestAddAllRemoveAll(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> >>>>> >>>>> graphEventTestAddAllRemoveAll(**org.apache.clerezza.rdf.jena.** >>>>> tdb.storage.TdbMGraphTest) >>>>> testGetSize(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> testGetSize(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> TdbMGraphTest) >>>>> org.apache.clerezza.rdf.jena.**tdb.storage.** >>>>> SingleTdbDatasetMGraphTest >>>>> >>>>> >>>>> testListGraph(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateGraph(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateMGraph(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGetMGraph(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGetTriples(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testDeleteEntity(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateMGraphExtended(org.**apache.clerezza.rdf.jena.tdb.**storage.* >>>>> *SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateGraphExtended(org.**apache.clerezza.rdf.jena.tdb.**storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGraphIsNotMutable(org.**apache.clerezza.rdf.jena.tdb.**storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGraphDeletion(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGetTriplesGraph(org.**apache.clerezza.rdf.jena.tdb.**storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGetTriplesMGraph(org.**apache.clerezza.rdf.jena.tdb.**storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateGraphNoDuplicateName**s(org.apache.clerezza.rdf.** >>>>> jena.tdb.storage.**SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateMGraphNoDuplicateNam**es(org.apache.clerezza.rdf.** >>>>> jena.tdb.storage.**SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testCreateGraphWithInitialColl**ection(org.apache.clerezza.** >>>>> rdf.jena.tdb.storage.**SingleTdbDatasetTcProviderTest**) >>>>> >>>>> >>>>> testGetGraph(org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**) >>>>> >>>>> Tests run: 109, Failures: 0, Errors: 65, Skipped: 0 >>>>> >>>>> The test logs contain errors like: >>>>> 1) <testcase time="0.003" >>>>> classname="org.apache.**clerezza.rdf.jena.tdb.storage.**TdbMGraphTest" >>>>> name="dateStorage"> >>>>> <error message="An entity with this name already exists: >>>>> <http://text.example.org/&**gt <http://text.example.org/>>;" >>>>> >>>>> type="org.apache.clerezza.rdf.**core.access.** >>>>> EntityAlreadyExistsException">**org.apache.clerezza.rdf.core.**access.* >>>>> *EntityAlreadyExistsException: >>>>> An entity with this name already exists: <http://text.example.org/&* >>>>> *gt <http://text.example.org/>>; >>>>> 2) <testcase time="0.005" >>>>> classname="org.apache.**clerezza.rdf.jena.tdb.storage.**TdbMGraphTest" >>>>> name="dateStorage"> >>>>> <error >>>>> type="java.lang.**NullPointerException">java.** >>>>> lang.NullPointerException >>>>> at >>>>> >>>>> org.apache.clerezza.rdf.jena.**tdb.storage.TdbTcProvider.** >>>>> deleteTcDir(TdbTcProvider.**java:242) >>>>> at >>>>> >>>>> org.apache.clerezza.rdf.jena.**tdb.storage.TdbTcProvider.** >>>>> deleteTripleCollection(**TdbTcProvider.java:233) >>>>> 3) <testcase time="0.078" >>>>> >>>>> classname="org.apache.**clerezza.rdf.jena.tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**" >>>>> name="testListGraph"> >>>>> <error message="forwarding ..." >>>>> type="java.lang.**RuntimeException">java.lang.**RuntimeException: >>>>> forwarding >>>>> ... >>>>> at >>>>> >>>>> org.apache.clerezza.rdf.jena.**tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**.getInstance(** >>>>> SingleTdbDatasetTcProviderTest**.java:62) >>>>> at >>>>> >>>>> org.apache.clerezza.rdf.jena.**tdb.storage.** >>>>> SingleTdbDatasetTcProviderTest**.testListGraph(** >>>>> SingleTdbDatasetTcProviderTest**.java:154) >>>>> >>>>> _*rdf.file.storage*_ >>>>> >>>>> Tests in error: >>>>> testGetTriples(org.apache.**clerezza.rdf.file.storage.** >>>>> FileTcProviderTest) >>>>> >>>>> testDeleteEntity(org.apache.**clerezza.rdf.file.storage.** >>>>> FileTcProviderTest) >>>>> testDataFile(org.apache.**clerezza.rdf.file.storage.** >>>>> FileTcProviderTest) >>>>> >>>>> >>>>> testAutoMGraphCreationFromExis**tingFile(org.apache.clerezza.** >>>>> rdf.file.storage.**FileTcProviderTest) >>>>> >>>>> testCreateMGraph(org.apache.**clerezza.rdf.file.storage.** >>>>> FileTcProviderTest) >>>>> testGetMGraph(org.apache.**clerezza.rdf.file.storage.** >>>>> FileTcProviderTest) >>>>> >>>>> >>>>> testCreateMGraphExtended(org.**apache.clerezza.rdf.file.** >>>>> storage.FileTcProviderTest) >>>>> >>>>> >>>>> testGetTriplesMGraph(org.**apache.clerezza.rdf.file.** >>>>> storage.FileTcProviderTest) >>>>> >>>>> >>>>> testCreateMGraphNoDuplicateNam**es(org.apache.clerezza.rdf.** >>>>> file.storage.**FileTcProviderTest) >>>>> org.apache.clerezza.rdf.file.**storage.FileMGraphTest >>>>> >>>>> Tests run: 19, Failures: 0, Errors: 10, Skipped: 0 >>>>> >>>>> The test logs contain errors like: >>>>> 1) <testcase time="0.031" >>>>> classname="org.apache.**clerezza.rdf.file.storage.**FileMGraphTest" >>>>> name="org.apache.clerezza.rdf.**file.storage.FileMGraphTest"> >>>>> <error message="Illegal character in authority at index 7: >>>>> file://C:\Users\Minto\AppData\**Local\Temp\/test-04.nt" >>>>> >>>>> type="java.lang.**IllegalArgumentException">**java.lang.** >>>>> IllegalArgumentException: >>>>> Illegal character in authority at index 7: >>>>> file://C:\Users\Minto\AppData\**Local\Temp\/test-04.nt >>>>> at java.net.URI.create(URI.java:**859) >>>>> at >>>>> >>>>> org.apache.clerezza.rdf.file.**storage.FileMGraphTest.** >>>>> createTempFileFromResource(**FileMGraphTest.java:73) >>>>> >>>>> >>>>> _*rdf.jena.tdb.storage*_ >>>>> >>>>> >>>>> >>>>> Op 19-3-2013 6:57, Reto Bachmann-Gmür schreef: >>>>> >>>>>> On Tue, Mar 19, 2013 at 6:18 AM, Reto Bachmann-Gmür <[email protected]> >>>>>> >>>>> wrote: >>>>> >>>>>> >>>>>>> On Mon, Mar 18, 2013 at 11:06 PM, Rupert Westenthaler < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>> On Mon, Mar 18, 2013 at 9:56 PM, Minto van der Sluis <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hmm, odd! >>>>>>>>> >>>>>>>>> Might this be platform related? I am building on Windows 7 with Java >>>>>>>>> >>>>>>>> 7. >>>>>>>>> Yes. Under Windows you can not delete Files that are still used. On >>>>>>>> Linux and Mac this is possible. >>>>>>>> >>>>>>>> I don't think one of or tests does this. >>>>>>> I've just tried a build under windows and it fails in the jena.tdb >>>>>>> >>>>>> module >>>>>> with lots of errors like: >>>>>>> com.hp.hpl.jena.tdb.base.**block.BlockException: >>>>>>> BlockMgrMapped.**segmentAllocate: Segment = 0 >>>>>>> at >>>>>>> >>>>>>> com.hp.hpl.jena.tdb.base.**block.BlockMgrMapped.** >>>>> allocSegment(BlockMgrMapped.**java:173) >>>>> >>>>>>> is this the same as you're having? >>>>>>> >>>>>>> This was probably due to my full disk. Trying again now with space on >>>>> the >>>>> >>>>>> disk and with -fae option. >>>>>> >>>>>> Reto >>>>>> >>>>>> >>>>>> Cheers, >>>>>>> Reto >>>>>>> >>>>>>> >>>>>>> I had similar issues with deleting SolrCores after UnitTests on >>>>>>> Windows. >>>>>>>> best >>>>>>>> Rupert >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>>> Minto >>>>>>>>> >>>>>>>>> >>>>>>>>> Op 18-3-2013 20:00, Reto Bachmann-Gmür schreef: >>>>>>>>> >>>>>>>>>> On Mon, Mar 18, 2013 at 7:38 PM, Reto Bachmann-Gmür < >>>>>>>>>> >>>>>>>>> [email protected]> >>>>>> wrote: >>>>>>>>> On Thu, Mar 14, 2013 at 11:10 AM, Minto van der Sluis < >>>>>>>>>> [email protected] >>>>>>>>> wrote: >>>>>>>>>>>> Hi Folks, >>>>>>>>>>>> >>>>>>>>>>>> Doing a fresh build of the lastest and greatest from git results >>>>>>>>>>>> >>>>>>>>>>> in >>>>>> test >>>>>>>>> errors for the following projects: >>>>>>>>>>>> scala-scripting >>>>>>>>>>>> platform.typerendering.**seedsnipe >>>>>>>>>>>> rdf.jena.tdb.storage (not my modified version) >>>>>>>>>>>> rdf.file.storage >>>>>>>>>>>> >>>>>>>>>>>> These components do build, it's only testing that fails. >>>>>>>>>>>> >>>>>>>>>>>> Are these known issues? Is there some kind of continuous build >>>>>>>>>>>> for >>>>>>>>>>>> Clerezza? >>>>>>>>>>>> >>>>>>>>>>>> Let me answer the easy question first. Yes there is continuos >>>>>>>>>> integration, >>>>>>>>> it's here: >>>>>>>>>>> https://builds.apache.org/job/**clerezza-trunk-1.6/<https://builds.apache.org/job/clerezza-trunk-1.6/> >>>>>>>>>>> >>>>>>>>>>> I'll have a look if I broke something with my work on the parent. >>>>>>>>>>> >>>>>>>>>>> It builds here: >>>>>>>>>> [INFO] >>>>>>>>>> >>>>>>>>>> >>>>>>>> ------------------------------**------------------------------** >>>>> ------------ >>>>> >>>>>> [INFO] BUILD SUCCESS >>>>>>>>>> [INFO] >>>>>>>>>> >>>>>>>>>> >>>>>>>> ------------------------------**------------------------------** >>>>> ------------ >>>>> >>>>>> [INFO] Total time: 10:20.344s >>>>>>>>>> [INFO] Finished at: Mon Mar 18 19:51:59 CET 2013 >>>>>>>>>> [INFO] Final Memory: 217M/925M >>>>>>>>>> [INFO] >>>>>>>>>> >>>>>>>>>> >>>>>>>> ------------------------------**------------------------------** >>>>> ------------ >>>>> >>>>>> reto@mufu-desktop-hp:~/**projects/apache/clerezza$ svn status >>>>>>>>>> reto@mufu-desktop-hp:~/**projects/apache/clerezza$ >>>>>>>>>> >>>>>>>>>> The latest failure on Jenkins is due to the missing plugin: >>>>>>>>>> >>>>>>>>>> -DartifactId=maven-ontologies-**plugin -Dversion=0.4-SNAPSHOT >>>>>>>>>> >>>>>>>>>> The problem with plugins is that they are not taken into account by >>>>>>>>>> maven when creating the reactor build order. I've now deployed the >>>>>>>>>> plugin manually and I hope that the build will >>>>>>>>>> now succeed. >>>>>>>>>> >>>>>>>>>> Reto >>>>>>>>>> >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> ir. ing. Minto van der Sluis >>>>>>>>> Software innovator / renovator >>>>>>>>> Xup BV >>>>>>>>> >>>>>>>>> Mobiel: +31 (0) 626 014541 >>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>>> | Rupert Westenthaler [email protected] >>>>>>>> | Bodenlehenstraße 11 ++43-699-11108907 >>>>>>>> | A-5500 Bischofshofen >>>>>>>> >>>>>>>> >>>>> -- >>>>> ir. ing. Minto van der Sluis >>>>> Software innovator / renovator >>>>> Xup BV >>>>> >>>>> Mobiel: +31 (0) 626 014541 >>>>> >>>>> >>>>> -- ir. ing. Minto van der Sluis Software innovator / renovator Xup BV Mobiel: +31 (0) 626 014541
