diqiuren / edtf

Automatically exported from code.google.com/p/edtf
0 stars 0 forks source link

eTSL model implementation #1

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Implementation of the eTSL model described in the eTSL draft v0.85.

Original issue reported on code.google.com by marius.e...@gmail.com on 9 Nov 2009 at 9:50

GoogleCodeExporter commented 9 years ago

Original comment by marius.e...@gmail.com on 9 Nov 2009 at 10:00

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r232.

Added skeleton support for JAXWS / JDK 6.
Added DIA file for the internal process in the doc/process folder.

Original comment by marius.e...@gmail.com on 23 Dec 2009 at 12:58

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r243.

Added eTSM files from OASIS TaMIE ( 
http://www.oasis-open.org/committees/documents.php?wg_abbrev=tamie )

Original comment by marius.e...@gmail.com on 29 Dec 2009 at 10:43

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r244.

Restructured the source tree.
Added eTSM transformer from OASIS TaMIE ( 
http://www.oasis-open.org/committees/documents.php?wg_abbrev=tamie ), from 
December 2009.

Original comment by marius.e...@gmail.com on 29 Dec 2009 at 10:56

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r245.

Restructured the source tree.
Added eTSM transformer from OASIS TaMIE ( 
http://www.oasis-open.org/committees/documents.php?wg_abbrev=tamie ), from 
December 2009.

Original comment by marius.e...@gmail.com on 29 Dec 2009 at 10:57

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r246.

Implemented a simple version of the EventBoard, to get things moving.
This implementation should be decoupled later from the DataService, by using a 
BlockingQueue between them and "QueueWorkers" for processing the incomming 
events.

Original comment by marius.e...@gmail.com on 9 Jan 2010 at 1:02

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r248.

Added a simple XSLT implementation. This is going to be further developed to 
include extension functions.

Original comment by marius.e...@gmail.com on 14 Jan 2010 at 9:57

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r249.

Renamed a few files. The "Interface" suffix from the .api.* packages should be 
removed in the future so that the usage is transparent for the framework user.

Original comment by marius.e...@gmail.com on 14 Jan 2010 at 10:04

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r251.

Small change regarding transformer output result.

Original comment by marius.e...@gmail.com on 17 Jan 2010 at 9:36

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r252.

File changes: removed "interface" suffix.

Original comment by marius.e...@gmail.com on 17 Jan 2010 at 9:54

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r253.

Changed the tree in order to reflect the removal of the "interface" suffix.

Original comment by marius.e...@gmail.com on 17 Jan 2010 at 10:21

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r254.

Added GPL v3 license file (see COPYING in edtf directory) and comments inside 
each file. From here ( http://www.gnu.org/licenses/gpl-howto.html ) It seems 
that "Copyright" should include the year of the release and all the people who 
have edited the file.

Original comment by marius.e...@gmail.com on 17 Jan 2010 at 5:30

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r256.

- Changes to "xslt transformer" are related to: new nterface, file name and a 
few minor changes.
- Added "org.edtf.etsm.functions" which will contain XSLT extension functions 
from etsm.
- Added "call-adapter" extension function skeleton: currently doing nothing 
more than printing a text.

Original comment by marius.e...@gmail.com on 30 Jan 2010 at 7:47

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r257.

- Upgrade to Netbeans 6.8
- call-adapter & catch skeletons refined.

Original comment by marius.e...@gmail.com on 14 Feb 2010 at 7:35

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r260.

- Small refactoring.

Update issue 2
- Added a simple TCPServer skeleton.

Original comment by marius.e...@gmail.com on 24 Feb 2010 at 10:16

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r261.

- Small refactoring. Removed empty packages.

Original comment by marius.e...@gmail.com on 24 Feb 2010 at 10:20

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r262.

- Small refactoring. Added latest jaxws stuff.

Original comment by marius.e...@gmail.com on 24 Feb 2010 at 10:23

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r268.

- Refactored the directory structure, updated headers

Original comment by marius.e...@gmail.com on 13 Apr 2010 at 7:53

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r269.

- Refactored the directory structure, updated headers

Original comment by marius.e...@gmail.com on 13 Apr 2010 at 7:55

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r271.

- Updated jaxws files after refactoring

Original comment by marius.e...@gmail.com on 13 Apr 2010 at 9:03

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r282.

- Each Event will have an XPathAdapter attached, for performing queries faster 
(and in the future perhaps performing parallel queries on multiple events might 
be interesting from a performance perspective)
- Cleaned up EventBoard and EventIO code

Original comment by marius.e...@gmail.com on 3 May 2010 at 9:59

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r284.

- Refactoring on the XPathAdapter interface / implementation

Original comment by marius.e...@gmail.com on 9 May 2010 at 11:33

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r285.

- Added first skeleton for "script-package" and it's childs (like 
"execution-context")
- Added EventBoardFactory and EventBoardInfo
- Removed a few Test*.java files that cannot justify their existence

Original comment by marius.e...@gmail.com on 17 May 2010 at 11:14

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r286.

- Added etsm-0-7-1.xml, released by OASIS on 2010.02

Original comment by marius.e...@gmail.com on 19 May 2010 at 7:04

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r287.

- Added EventBoardManager singleton
- Continued the ScriptPackage & ExecutionContext implementation

Original comment by marius.e...@gmail.com on 19 May 2010 at 10:45

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r288.

- Renamed scriptpackage to script
- Moved EventBoard related code to core.script.eventboard
- Fixed serializeNode() for an attribute

Original comment by marius.e...@gmail.com on 23 May 2010 at 7:48

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r289.

- Renamed scriptpackage to script
- Moved EventBoard related code to core.script.eventboard
- Fixed serializeNode() for an attribute

Original comment by marius.e...@gmail.com on 23 May 2010 at 7:48

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r294.

- Added EventBoardFilter

Original comment by marius.e...@gmail.com on 23 May 2010 at 9:18

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r298.

- Added handling for a "default" event board settings
- Another round of refactoring

Original comment by marius.e...@gmail.com on 23 May 2010 at 2:59

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r300.

- Added implementation for the Event and EventIO, considering the curent design

Original comment by marius.e...@gmail.com on 23 May 2010 at 4:03

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r301.

- Time for paying attention to performance, too. Refactored & Optimized some 
obvious parts of the code in which the XPathAdapter is involved

Original comment by marius.e...@gmail.com on 23 May 2010 at 5:10

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r305.

- Added a simple catch/post/call-adapter transformation template, for 
preliminary use of the extension functions.
- Added an implementation of the <post> extension function, which should work 
well enough for the first rounds of development.

Original comment by marius.e...@gmail.com on 29 May 2010 at 2:17

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r306.

Update issue 7
- Refactored the XPathAdapter serialization, by taking the serialization 
outside of the XPathAdapter. NodeSerializerAdapter interface and the Saxon 
implementation of this interface has been added
- Updated edtf code after the above refactoring

Original comment by marius.e...@gmail.com on 29 May 2010 at 10:26

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r308.

- Intermediary check-in for an "application wide" component container, 
configurable using edtf.components.xml. This is behaving  like a configurable 
object factory. This can allow, in the future, plug-in based extensions of 
things like EventBoards, ComponentMappers, XML extensions, etc.

Original comment by marius.e...@gmail.com on 29 May 2010 at 5:10

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r312.

- Added EventManager, which will be a "proxy" (for EventIO and 
core.etsm.functions), by managing access to the EventBoard and it's events.
- Added a first implementation of the "catch" - far from the final version 
(especially in design).
- Small refactoring on a couple of components

Original comment by marius.e...@gmail.com on 7 Jun 2010 at 10:29

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r313.

- Added more code for the catch extension. A message can be posted and catched 
(in a non-blocking way) successfully. However, the catch implementation is 
still far away from the standard requirements.
- Added fixes for a couple of components, including Event, EventManager, 
EventBoard.
- Refactored how namespaces are handled inside the XPathAdapter. The same 
should follow for the XSLTAdapter later.

Original comment by marius.e...@gmail.com on 8 Jun 2010 at 4:00

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r314.

- Moved Endpoint outside of ScriptPackage. The connection between them is made 
through the EventManager.
- Added configuration parameters for Endpoint

Original comment by marius.e...@gmail.com on 9 Jun 2010 at 9:30

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r315.

- Updated CoreClient with the new dependency injection stuff
- Marked a set of calls "synchronized", like Config.set(), for example
- Added small script for launching CoreClient

Original comment by marius.e...@gmail.com on 16 Jun 2010 at 9:46

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r321.

- Added date convertion (from xsd:dateTime to Java Date) interface & 
implementation. It is not feasible, at least now, to include a 3rd party 
library only for date conversions. So these can be abstracted from the XSLT 
engine quite easily.

Original comment by marius.e...@gmail.com on 25 Jul 2010 at 4:09

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r324.

- Added Scriplet, which now runs as a separate thread and using its own 
transformer instance (both for "sync" and "async" scriplets). Currently each 
scriplet is transformed and executed only when it's needed - this adds some 
complexity when it comes to reffering to "global" variables defined in the 
execution context. Under the hood this can be perhaps implemented using 
"implicit" parameters that are passed in the same way as the scriplet 
parameters passed explicitely using withParam.
Scriplet parameter passing is currently missing.

Original comment by marius.e...@gmail.com on 27 Jul 2010 at 11:20

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r339.

- First transformation is working using xtemp, but without "global variables". 
Still some work for the second transformation. Need to recheck the use cases 
for the catch operator.

Original comment by marius.e...@gmail.com on 14 Oct 2010 at 8:04

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r342.

- XTemp transformer update to v0.9. Includes a few fixes and a new header, 
which mentions the MPL v1.1 license.

Original comment by marius.e...@gmail.com on 4 Jan 2011 at 9:46

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r348.

- Final adjustments to make things as they were before (i.e. not fully working 
: )

Original comment by marius.e...@gmail.com on 5 Jan 2011 at 8:31

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r357.

 - Added separation between simulated and non-simulated threading in scriplets.
   - Currently only simulated threading is feasible.
 - Added query-event-board() xsl:function for abstracting event board access.

Original comment by marius.e...@gmail.com on 7 May 2011 at 1:36

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r359.

 - Minor edit of the remaining places where direct access to the board is used.

Original comment by marius.e...@gmail.com on 11 May 2011 at 10:05

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r360.

 - The catch() extension function seems to be called correctly in "simulated threading" mode. 
   - Tested up to the point where events are filtered.

Original comment by marius.e...@gmail.com on 14 May 2011 at 3:39

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r361.

 - Adjusted the EventBoard.query() so that it can be stopped using stopCatchingEvents().
   - This is still a limited implementation which should be extended in a future iteration (see comments).
 - ExecutionContext is searching for EventBoards only in the /execution-context (the default event board from the configuration file has been removed).
 - Removed the "definition" suffix from the xtemp.functions.* files.

Original comment by marius.e...@gmail.com on 7 Jun 2011 at 5:01

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r362.

- A few fixes have been made in order for an Event to be inserted into the 
EventBoard. However, there is an issue when catching events (see below).
  - XTemp translator looks at some point for /event-board/events/event[1], but we store individual events as NodeInfo & XML (i.e. not the entire EventBoard as XML) so that a query is performed directly on the NodeInfo, without rebuilding the tree for each query.
  - A solution might be to look for a way to keep the entire EventBoard as a single NodeInfo and perform queries on that node. However, I don't have numbers about the overall performance (query, update, ..) of the two cases (i.e. keeping the entire EventBoard as a NodeInfo or having EventBoard as a list of Events which contain a NodeInfo). Having the EventBoard as a single NodeInfo might favor query operations performance while perhaps degrading update operations performance.
  - A load-test & benchmark should be made after edtf v0.1 is released for accurately measuring the performance of the two design approaches.
    - Perhaps having both implementations is also a practical approach, so that users who have lots of queries will choose one configuration. Anyway, this design decision can be easily refined after v0.1 (changes being isolated in the EventBoard implementation).
- Refactoring: Config is no longer a singleton, being a normal instance which 
is used by the ExecutionContext. (TODO: The same will be done for EventManager 
and EventBoardManager singletons).
- Refactoring: XPathSaxon no longer contains some hard-coded name-spaces, 
imposed by the usage of this class in the Config class (which should read the 
name-spaces from the XML configuration file). The remaining ones will be 
removed in the next iteration (see comments about why/how this is achieved).

Original comment by marius.e...@gmail.com on 24 Jun 2011 at 7:27

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r380.

- Migrated to netbeans 7.0.1.
- XTemp translator: Added proper escaping for the extension function arguments.
- Removed functions.xsl, as we aim for only one deployment scenario. And that 
is the one in which events are inserted into the framework through the 
web-service interface. For the "classic mode" (in which events are stored 
inside a file) the original XTemp translator can be used.
- Added a few unit tests for the Configuration component. More tests have to be 
added in the next period.

Original comment by marius.e...@gmail.com on 9 Aug 2011 at 8:20

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r381.

- XTemp translator: Inside <catch>, store the "current event" in a variable. 
Otherwise the "@timestamp" and "@id" queries will generate "XPTY0020: ... the 
context item is an atomic value" errors.
- QueryBoard: return type changed to SINGLE_NODE.

Original comment by marius.e...@gmail.com on 14 Aug 2011 at 8:10