Changes epcis-repository

Release History

VersionDateDescription
0.52010-12-28Bug fix and feature release
0.4.22009-02-03Bug fix release
0.4.12008-09-02Bug fix release
0.4.02008-07-29Project name changed to Fosstrak
0.3.22008-06-04Bug fix release
0.3.12008-03-24Bug fix release
0.3.02008-03-20Feature release: improved performance and interoperability
0.2.32007-12-14Bug fix release
0.2.22007-08-31Bug fix release
0.2.12007-08-10Bug fix release
0.2.02007-04-27Initial release

Release 0.5 - 2010-12-28

TypeChangesBy
fixFixed parsing of query parameter with more than one value in the list of strings when querying for extension fields (e.g., EQ_fieldname).steybem
addAdded support for capturing EPCIS MasterData. Please see the user-guide or the mailing list for details on how to use the new interface. Thanks to Nikos Kefalakis.kefalakis
updateUpdated CXF dependencies to 2.2.9 and JAXB to 2.2steybem
updateAdded support for storing milliseconds of eventTime and recordTime to the repository. Fixes issues with fine-grained time queries and with rounded time values in query responses. Thanks to Adrien Laurence.steybem
addAdded a JSP with an HTML form to quickly debug and submit capture requests directly via browser.steybem
addIntroduced JSP pages for the repository to show the requested information for browser GET requests.steybem
fixFixed handling of dbReset scripts. Furthermore, use Hibernate to run the scripts (removes the need of deprecated method).steybem
updateDisabled the Hibernate query_cache since we're mainly running updates/inserts and no queries.steybem
updateSet the antiResourceLocking flag in the application context to true in order to prevent JAR file locking and allow clean undeploys on Windows systems.steybem
fixUse correct number of SQL joins for queries with two or more EQ_fieldname parameters. Fixes 2495950. Thanks to Oscar Saiz.steybem

Release 0.4.2 - 2009-02-03

TypeChangesBy
fixSubscriptions not tolerant to server restart. Fixes 2379949. Thanks to Marc-Antoine Mouilleron.steybem
fixFixed query subscription error (unable to serialize and store objects of type ArrayOfString to database) Fixes 2379542. Thanks to Nektarios Leontiadis.steybem
fixUpdated demo data. Example events are now compliant with EPCglobal's Core Business Vocabulary.roduner
fixAdded "resource-ref" mapping in web.xml for easier deployment in containers other than Tomcat.roduner

Release 0.4.1 - 2008-09-02

TypeChangesBy
fixResults of subscribed queries were not reported correctly. Fixes 2088556.steybem
fixSubscriptions were not stored in the database. Fixes 2088551.steybem

Release 0.4.0 - 2008-07-29

TypeChangesBy
updateRenamed packages from org.accada to org.fosstrak.roduner

Release 0.3.2 - 2008-06-04

TypeChangesBy
fixFixed parsing of values for extension fields. Fixes 1964350.steybem
fixFixed epcis_demo_data.sql. (Demo data did not match latest schema.)roduner

Release 0.3.1 - 2008-03-24

TypeChangesBy
fixFixed inconsistent capitalization of table names, which caused problems on case-sensitive platforms (e.g., Linux).steybem

Release 0.3.0 - 2008-03-20

TypeChangesBy
addIntroduced Spring IoC container for bean wiring and application initialization.steybem
addIntroduced interfaces wherever reasonable (program to an interface, not an implementation), and improved extensibility and interoperability through application layering.steybem
addAdded a context listener which performs the initialization work (e.g., initializing the logging subsystem) when the application is deployed.steybem
addAdded support for storing custom, non-standard vocabulary fields.steybem
updateImproved and centralized all configuration parameters in a consistent application.properties file.steybem
updateUse StringBuilder instead of StringBuffer or string concatenation wherever reasonable, for improved performance.steybem
updateUse the commons-logging API as a wrapper for Log4J for all the log statements.steybem
updateAdded database indexes wherever reasonable for improved performance.steybem
updateMoved EPCIS WSDL and schema files to module epcis-commons.steybem
removeRemoved 'vocabularies' table from the database schema - the mapping of vocabulary names to the corresponding database table is now handled in the code.steybem
addAdded utility class for parsing and printing QueryResults.steybem
updateReplaced Axis-generated Web service stubs with CXF-generated Java beans.steybem
fixFixed TimeParser to catch any exceptions caused by invalid input and wrap them into QueryParameterExceptions.steybem
addQuery Interface: replaced the Web service framework Apache Axis 1 with Apache CXF which prevents many problems and avoids many workarounds implied by Axis, and improves performance.steybem
addQuery Interface: introduced a JAXB data binding to map Web service requests and responses to Java beans.steybem
addQuery Interface: added support for HTTPS binding for query callback interface.steybem
addQuery Interface: added support for querying custom, non-standard vocabulary fields.steybem
addQuery Interface: added a servlet to perform the initialization work for the QueryOperationsModule in cases where Spring cannot be used.steybem
addQuery Interface: added support for database transactions - queries which modify the database (e.g., add vocabularies) either succeed or fail in their entirety.steybem
updateQuery Interface: standing query results are returned within an EPCISQueryDocument whose EPCISBody contains the response payload XML, as specified in the EPCIS standard.steybem
updateQuery Interface: callback of results for standing queries is retried (up to 3 times) if the destination cannot be reached or in cases of network problems.steybem
updateQuery Interface: improved handling of children-relationships for masterdata vocabularies.steybem
fixQuery Interface: throw QueryParameterException for any invalid user-provided query parameter values.steybem
fixQuery Interface: fixed issues with not releasing database connections which prevented sessions from being closed under certain conditions and crashed the entire repository.steybem
fixQuery Interface: 'getVendorVersion' must return a valid URI-formated value.steybem
fixQuery Interface: ordering of events according to the 'orderBy' and 'orderDirection' query parameters must be global across all events.steybem
fixQuery Interface: restriction of events according to 'eventCountLimit' must be global across all events.steybem
fixQuery Interface: query returns events out of specified time frame. Fixes 1876336.steybem
addCapture Interface: added initialization logic to the CaptureOperationsServlet in cases where Spring cannot be used.steybem
addCapture Interface: introduced Hibernate which replaces the JDBC statements for persisting events to the database, adds an additional database abstraction layer, and thus allows for the possibility of integrating other (non-MySQL) data stores. Thanks to Sean Wellington.steybem
addCapture Interface: added support for database transactions - requests either succeed or fail in their entirety. Thanks to Sean Wellington.steybem
updateSet the "defaultAutoCommit" property of the database connection pool to false. Thanks to Sean Wellington.steybem
updateCapture Interface: check value of the 'eventTimeZoneOffset' field to match the expected pattern.steybem
updateCapture Interface: check elements in the 'epcList', 'childEPCs', and 'parentID' fields to match the pure identity URI pattern as defined in EPCglobal Tag Data Standard 1.3.1.steybem
fixCapture Interface: return HTTP status code different from 200 for any invalid user-provided input (e.g., invalid XML schema, invalid XML values).steybem

Release 0.2.3 - 2007-12-14

TypeChangesBy
fixMade CaptureOperationsModule more thread-safe and made sure that database resources are released under all circumstances. Fixes 1789785. Thanks to Sean Wellington.steybem
addExtracted Tomcat-specific initialization logic from CaptureOperationsModule into a new class CaptureOperationsServlet, such that CaptureOperationsModule can be used in other application servers. Thanks to Sean Wellington.steybem
fixMATCH_anyEPC query did not match against URIs in the parentID field of Transaction- and AggregationEvents. Fixes 1844046.steybem
fixparentID field of TransactionEvents was ignored in CaptureOperationsModule. Fixes 1844041.steybem
fixFixed storing and retrieving of time values to/from repository. Time zone offset does not need to be subtracted/added from event time or record time. Fixes 1789796.steybem
fixFixed QuerySchedule to correctly handle leap years.steybem
addAdded test case for TimeParser.steybem
fixCorrected serialization of time values into XML. Fixes 1845531.steybem
fixFixed parsing of event time when time value does not have exactly three digits for millisecond. Fixes 1789784.steybem

Release 0.2.2 - 2007-08-31

TypeChangesBy
fixHTTP Capture Interface in 0.2.1 was not EPCIS compliant. Fixed capture operation which now expects the EPCISDocument as payload in the HTTP POST request. Fixes 1781884.steybem
fixFixed Null pointer exception. Fixes 1781885.steybem

Release 0.2.1 - 2007-08-10

TypeChangesBy
fixScheduled queries were not restored properly after a service restart. Fixes 1725569.steybem
updateChanged demo database to make all examples shown in Query Client work.roduner
updateChanged build environment: Added profiles (dev, prod) to the build environment with specific settings for a development and a productive environment (you can activate a profile by adding e.g. "-Denv=dev" to your mvn build command).steybem

Release 0.2.0 - 2007-04-27

TypeChangesBy
addInitial code release.