Commit Graph

48 Commits

Author SHA1 Message Date
Robert von Burg a591479379 [Minor] cleaned up .gitignore 2013-10-28 18:56:51 +01:00
Robert von Burg c69ebe8e24 Update LockingTest.java 2013-10-28 15:49:48 +01:00
Robert von Burg ff5304a1a0 Update LockingTest.java 2013-10-28 15:46:08 +01:00
Robert von Burg 549d8fb8a7 Update LockableObject.java 2013-10-28 15:40:21 +01:00
Robert von Burg 9ea4929497 [Minor] set parent to 0.1.0-SNAPSHOT 2013-10-27 23:06:35 +01:00
Robert von Burg 59635eddf1 [Minor] modified how objects are added to the ObjectFilter
Now objects are not added by their class names, but the type is
retrieved from the object reference
2013-10-24 21:45:11 +02:00
Robert von Burg f24a10992c [New] added test to check acquiring locks
Added a test which checks that a TX fails if a lock can not be acquired,
but succeeds before the timeout to acquire the lock is exceeded.

Further fixed the brittle tests by using a different semaphore to
synchronize the threads.
2013-10-21 18:48:23 +02:00
Robert von Burg 87f82e1979 [New] implemented locking for all persistence operations
A LockingTest tests the locking, but still needs to be extended to test
further use cases, but basic locking works.
2013-10-20 01:14:59 +02:00
Robert von Burg 3c006b541a [New] implemented a test to allow multiple operations
This test makes sure that updating after adding, or any other operation
in the same TX works properly. Found a problem where the
PersistenceContext didn't implement hashCode() and equals() which lead
to each operation being added even though a previous operation was
already registered
2013-10-19 21:28:11 +02:00
Robert von Burg 3c623bd20c [Project] Set maven parent for this project to ch.eitchnet.parent 2013-10-19 21:28:02 +02:00
Robert von Burg 5be5cd3fa0 [Minor] fixed compiler warnings 2013-10-19 17:49:27 +02:00
Robert von Burg 30ddf3cfbf [New] implemented a basic test for multiple realms (mandates) 2013-10-19 17:45:33 +02:00
Robert von Burg 977d604a95 [New] created tests for object with no subType
This is implemented with the Book model in the test folder
2013-10-19 17:44:59 +02:00
Robert von Burg bce78769c0 [New] added testing of the *byId() methods
Here i found a conceptual problem where the *byId() methods didn't
properly resolve ObjectRefs and add them to the TX because, we added the
ObjectRefs to the filter, which made the TX resolve PersistenContexts by
the wrong type.

Now we always add the same type of object to the ObjectFilter; the
PersistentContext. This means that when we call ObjectDao.add(T), etc.
we must already create such the context. This helps resolve another
issue at the back of my mind: We don't want to partially commit a TX if
such a basic information as the object's CTX is not available.
2013-10-19 17:43:36 +02:00
Robert von Burg a0d5904db9 [Minor] added default IoMode, so that it must no be set on each TX 2013-10-16 18:53:32 +02:00
Robert von Burg 0d106c0714 [Minor] refactored tests to have a base class for cleaning up and
preparing the db store
2013-10-16 07:59:03 +02:00
Robert von Burg 4c7f0fc460 [Major] implemented new ObjectRef referencing of objects with locking
Locking is not yet implemented, but is now prepared. This is once again
a major rewrite but this has lead to easier use and less if/else
constructs but far more object oriented delegation and double
dispatching where possible
2013-10-15 22:26:58 +02:00
Robert von Burg d3e77afef2 [Minor] cleaned up compiler warnings 2013-10-08 19:00:27 +02:00
Robert von Burg 3357787f32 [Major] rewrite is working with ObjectDao with including operations 2013-10-08 18:49:46 +02:00
Robert von Burg ca9c21e0e2 [New] rewrite is now working as test. 2013-10-06 18:42:55 +02:00
Robert von Burg f81dec8939 [New] working on rewrite 2013-10-06 12:32:57 +02:00
Robert von Burg bacc6d72fd [Project] fixed /src/main to /src/test reference 2013-09-27 20:40:02 +02:00
Robert von Burg 403f59b82c [Project] fixed reference of src/main/ to /src/test 2013-09-27 20:30:55 +02:00
Robert von Burg 15a118e0e5 [Major] major rewrite, re-thinking the API
it is still not really nice how one has to use the persistence layer,
thus in the test folder i am currently implementing a completely new API
where simple use is central - but not forgetting SAX and DOM being used
transparently.
2013-09-27 20:23:48 +02:00
Robert von Burg f9c613ca46 [Minor] fixed compiler warnings 2013-09-15 21:43:52 +02:00
Robert von Burg c7ba5054de [Minor] fixed compiler warnings 2013-09-15 21:42:04 +02:00
Robert von Burg fed2bffa36 [Major] major rewrite, now implemented SAX and DOM methods.
Now DOM implementation is working as well with a test scenario
2013-09-15 21:41:00 +02:00
Robert von Burg 23cbca6f89 [Minor] fixed compile error due to wrong import to test classes 2013-09-15 20:55:16 +02:00
Robert von Burg 289cee3f51 [Major] major rewrite, now implemented SAX and DOM methods.
SAX works, DOM does not yet work. Simpler implementation now by not
having to modify domain objects so they can be persisted.
2013-09-14 08:45:12 +02:00
Robert von Burg f391055c6a [Devel] reimplementing using visitor pattern
Changing to the visitor pattern will make it easier to implement a SAX
reader and writer

This is a commit so that i don't loose my work. The code currently does
not compile
2013-08-30 09:43:45 +02:00
Robert von Burg 3b2a397063 [Devel] still implementing new visitor pattern 2013-08-08 00:34:49 +02:00
Robert von Burg 0605dd784f [Devel] reimplementing using visitor pattern
Changing to the visitor pattern will make it easier to implement a SAX
reader and writer
2013-08-07 22:55:18 +02:00
Robert von Burg 3310a8d471 Update README.md
Described the dependencies, features and how to build of XmlPers
2013-03-13 17:29:28 +01:00
Robert von Burg 4723608d62 [Minor] fixed failing tests on Java 1.7 due to expected execution 2013-02-24 11:49:44 +01:00
Robert von Burg 8d893d87a0 Update pom.xml
Added distribution management to deploy to nexus.eitchnet.ch (fixed wrong URL)
2013-01-30 15:05:22 +01:00
Robert von Burg 1fbe3cb090 Update pom.xml
Added distribution management to deploy to nexus.eitchnet.ch
2013-01-30 14:56:56 +01:00
Robert von Burg 64e6111c53 Fixed a log message about number of objects added in transaction 2013-01-21 18:29:27 +01:00
Robert von Burg 33df39c03c Modified XmlDao to have a Document as input to create the DOM
representation of the object.
2013-01-21 18:16:21 +01:00
Robert von Burg e5c23a8924 [Minor] Removed dependency to ch.eitchnet.log4j and thus added log4j.xml
The log4j.xml configuration file is in the test resources and now the
project is completely free of a dependency to a concrete logging
implementation as all logging of the sources is done over slf4j
2012-11-25 00:46:19 +01:00
Robert von Burg 38466685a0 [Major] refactored use of log4j to slf4j 2012-11-24 13:23:24 +01:00
Robert von Burg eec0b67135 [Minor] updated dependency to ch.eitchnet.utils to 0.1.0 2012-08-04 21:37:09 +02:00
Robert von Burg 925623bc93 [Minor] cleaned up copyright notices in all classes 2012-07-29 18:28:22 +02:00
Robert von Burg 61f6e6cdc4 [Minor] change mvn eclipse configuration to load sources as well 2012-07-28 23:17:07 +02:00
Robert von Burg 50f2cba067 [Minor] Added eclipse settings file to .gitignore 2012-07-28 15:46:29 +02:00
Robert von Burg 10b8cb4071 [Major] rebuilt project to use Maven.
- Now a "mvn compile" will build the project downloading dependencies as needed
- Note: as ch.eitchnet.utils is a dependency, it must be installed first by using "mvn install"
2012-07-28 15:37:24 +02:00
Robert von Burg a3d73329bd [New] Added packaging information and files and licence
This includes setting the licence to LGPL, setting the headers, adding a build script and testing the build
2012-06-14 23:40:29 +02:00
Robert von Burg 4956925329 [New] Initial commit of the XML Persistence implementation
This is a rudimentary implementation which works in that objects can be written to the DB, read back and helper methods like keySet, size are also implemented
2012-06-08 19:05:57 +02:00
Robert von Burg b8ece51dbe Initial commit 2012-06-08 09:47:44 -07:00