Commit Graph

223 Commits

Author SHA1 Message Date
Robert von Burg 08631498dc [Major] Creating LogMessages for exceptions in Migrations, TX, Execution 2017-06-14 15:54:58 +02:00
Robert von Burg 6171e53ff4 [New] Implemented simple OperationsLog to storing messages 2017-06-14 12:53:08 +02:00
Robert von Burg 79122f2887 [Minor] Locator caches toString and hashcode 2017-06-13 10:27:31 +02:00
Robert von Burg 5bf7cd8b72 [Major] Changed State machine implementation 2017-06-13 10:26:21 +02:00
Robert von Burg 5471a3176b [Fix] Fix able to restart error actions by setting to STOPPED first 2017-06-12 21:48:33 +02:00
Robert von Burg 3e2e21da6d [Fix] Fixed re-executing ERRORed Action 2017-06-09 16:11:22 +02:00
Robert von Burg b8b0806e12 [New] Now StrolchTimedState compact only if boolean supplied 2017-06-08 14:33:59 +02:00
Robert von Burg d8452f4cf5 [New] Added mapping of name in FromFlatJsonVisitor 2017-06-01 12:42:07 +02:00
Robert von Burg b8452dc6e4 [New] Added ListParameter.size() method 2017-05-25 19:15:52 +02:00
Robert von Burg f87c42f399 [Project] switched tests to use logback-classic 2017-05-22 09:50:48 +02:00
Robert von Burg bb1cd337c7 [New] Implemented new methods on Activity
- getPreviousElement()
- getPreviousElementByType()
- getNextElement()
- getNextElementByType()
- getElementsByType()
2017-05-19 10:54:38 +02:00
Robert von Burg 78edd08f80 [New] allow to define depth in activity to json 2017-05-17 09:43:31 +02:00
Robert von Burg 3622339896 [Major] Total refactoring of StrolchElementVisitor hierarchy 2017-05-17 09:20:27 +02:00
Robert von Burg 428b589d47 [Minor] Compacting memory on HashMap and HashSet usage 2017-05-16 11:50:37 +02:00
Robert von Burg 885e5ebf04 [Fix] NPE in StrolchElementToSaxVisitor for Actions 2017-05-15 20:56:35 +02:00
Robert von Burg 01815ffc8e [New] Added PolicyContainer.hasPolicyDef(String) and .getPolicyDef(Str) 2017-05-14 16:12:28 +02:00
Robert von Burg 24b7f1d2bc [New] Update the order state of activity by Type and Id reference 2017-05-14 15:33:23 +02:00
Robert von Burg 24749ae05b [New] Added ListParameter.contains(E) 2017-05-12 17:10:25 +02:00
Robert von Burg 7ce6375288 [Major] Updates to Parameter interface 2017-05-10 12:23:35 +02:00
Robert von Burg 43eb6c7298 [New] Added StringParameter.isEmpty() 2017-05-10 10:40:10 +02:00
Robert von Burg 881cce9c91 [New] Added State.isClosed() and State.isExecuted() 2017-05-09 12:32:15 +02:00
Robert von Burg 19420f9d80 [New] Added *.locatorFor(String, String) for root elements 2017-05-09 12:31:49 +02:00
Robert von Burg eedc587bed [Minor] Added identity visitors to queries, eliminating NoStrategy usage 2017-05-05 09:59:17 +02:00
Robert von Burg 358f4eff63 [Minor] Small change in ParameterizedElement 2017-05-04 20:45:44 +02:00
Robert von Burg 4965af17b4 [Minor] Activity casts to returned object 2017-05-04 15:48:26 +02:00
Robert von Burg ca50609131 [New] Added new method .getParameterBagsByType() 2017-05-03 13:52:34 +02:00
Robert von Burg ae0fba00ca [New] Added Selection.not() to return inversion of selection 2017-05-01 17:39:04 +02:00
Robert von Burg ac9d24802c [Fix] Compile error fixes =( 2017-04-25 19:32:38 +02:00
Robert von Burg 090d0d394f [Major] Don't expose API toJson() in ToFlatJsonVisitor 2017-04-25 11:38:58 +02:00
Robert von Burg b06274a103 [New] Updated *ToFlatJsonVisitors to be more build-pattern-like 2017-04-19 22:01:41 +02:00
Robert von Burg a0371d7272 [Minor] Resource.getTimedState() generics fix 2017-04-19 22:01:08 +02:00
Robert von Burg 05c2f8f09c [New] *To*JsonVisitor now support adding version to JSON result 2017-04-13 12:10:30 +02:00
Robert von Burg ffca077419 [New] Changed Parameter.getValue() for implicit cast to type
Now you can simplify:
StringParameter valueS = resource.getParameter("bagId", "paramId");
String value = valueS.getValue();

to:
String value = resource.getParameter("bagId", "paramId").getValue();

Casting is done implicitly, thus this can lead to runtime exceptions
when the parameter is not of the relevant type, but otherwise it reduces
the code by one line.

Setting the value in this manor is not supported due to the
ListParameters requiring a type of List<T>.
2017-04-12 17:34:23 +02:00
Robert von Burg c835ef2735 [Minor] Cleaned up use of new FileInputStream 2017-04-11 11:04:46 +02:00
Robert von Burg 6afba02c59 [Major] Implemented querying Activities by state and resolves #3 2017-04-06 10:02:04 +02:00
Robert von Burg fbb2bc85db [Minor] Small logging changes 2017-04-06 08:42:05 +02:00
Robert von Burg 88f294841d [Minor] Minor change to ParameterSelection for list selections 2017-03-30 19:38:55 +02:00
Robert von Burg 7ad09e2fe5 [Fix] Hopefully last fix for Intepretation/UOM of TimedStates 2017-03-29 17:00:21 +02:00
Robert von Burg 4e1e1ccb8f [New] Add toXml() and toJson() methods on StrolchRootElement 2017-03-29 09:50:15 +02:00
Robert von Burg 299f789fb2 [Fix] AbstractStrolchTimedState should also clone optional fields 2017-03-28 19:30:11 +02:00
Robert von Burg 7ee002adcf [New] Added GroupedParameterizedElement.getParameterBag(String,boolean) 2017-03-27 14:36:09 +02:00
Robert von Burg 16f16c330b [Fix] also parse TimedState optional fields 2017-03-24 16:57:51 +01:00
Robert von Burg 27964e47a5 [Minor] Added optional fields of TimedStates to XSD 2017-03-24 16:01:35 +01:00
Robert von Burg 9b2fc22cc0 [New] Added new ElementDateVisitor and ElementStateVisitor
These allow to get the date or state respectively from a
StrolchRootElement which supports such a field (Order and/or Activity)
and thus eliminates the need for casting
2017-03-21 15:33:06 +01:00
Robert von Burg a88a098bf3 [Minor] Wrapping exception in FromFlatJsonVisitor 2017-03-14 18:48:42 +01:00
Robert von Burg 72af643d38 [Minor] implemented chaining on FromFlatJsonVisitor 2017-03-06 12:28:48 +01:00
Robert von Burg 538ded80b8 [Fix] Fixed not closing document in StrolchXmlHelper, added test 2017-03-02 19:41:22 +01:00
Robert von Burg 2724bb9706 [Minor] Added logger in StrolchXmlHelper 2017-03-02 17:06:53 +01:00
Robert von Burg e0149cc4b0 [Major] Removed many visitors and implemented proper visitor pattern... 2017-03-02 16:52:50 +01:00
Robert von Burg 6cc22c21a8 [New] Added StrolchXmlParser to quickly parse from a file 2017-03-02 15:00:35 +01:00
Robert von Burg 62a441e038 [Major] Added Parameter.clearValue() and list parameters use , as sep 2017-03-02 14:59:03 +01:00
Robert von Burg fa7309cb19 [New] Added StrolchElementQuery.internal() 2017-03-01 01:37:55 +01:00
Robert von Burg 1779bcc99f [New] Allow to not map name on ToFlatJsonVisitor 2017-02-27 18:53:57 +01:00
Robert von Burg e27a0969ee [Major] Changes in FlatJsonVisitor 2017-02-27 17:25:24 +01:00
Robert von Burg c89e04a356 [Major] Moved *ToFlat and *FromFlat Json Visitors to strolch model 2017-02-27 14:11:49 +01:00
Robert von Burg 967b54f279 [New] Added Activity.getActionsWithState(State) 2017-02-22 17:46:27 +01:00
Robert von Burg 89739717f2 [Major] Refactored LockHandler to use Locator
This is required because in certain instances it is important to lock
the object before retrieving it, otherwise if, for instance in
execution, we would need to fetch, lock and re-fetch to be sure we have
the latest object.

In moste of the Update*Commands this is not important as we perform a
list commit wins, where the client wants their version to be persisted.
Later a optimistic locking can be performed in that the given version
must be the latest, otherwise an exception would be thrown
2017-02-22 12:14:23 +01:00
Robert von Burg c62bbe987e [Minor] Add Activity.remove(String) to remove an element 2017-02-22 10:59:53 +01:00
Robert von Burg e5f454d57d [Minor] Add Activity.remove(String) to remove an element 2017-02-22 10:56:04 +01:00
Robert von Burg b70106260a [Fix] Fix bugs in formatting to JSON 2017-02-08 15:43:23 +01:00
Robert von Burg 753806f672 [New] Added inspector REST api for activities 2017-02-02 12:55:59 +01:00
Robert von Burg 113b953e37 [Major] Json Tags are now in Tags.Json and are drinking camel-case 2017-02-02 12:13:46 +01:00
Robert von Burg 1d25a2a46b [Major] Json Tags are now in Tags.Json and are drinking camel-case 2017-02-02 11:58:59 +01:00
Robert von Burg 905db8c297 [Project] Set new version 1.5.0-SNAPSHOT 2016-11-03 12:07:38 +01:00
Robert von Burg b775c00f4d [Major] Implemented ExecutionDuration and fixed deep execution
Using the DurationExecution:

<Activity Id="produceBicycle" Name="Activity" Type="ToStock" 
        TimeOrdering="Series">
  <ParameterBag Name="objectives" Id="Objectives" Type="Objectives">
    <Parameter Name="Duration" Id="duration" Value="PT0.01S" 
          Type="Duration" />
  </ParameterBag>
  <Action Id="produce" Name="Produce" ResourceId="bicycle" 
          ResourceType="Product" Type="Produce" />
</Activity>

IActivityElement now has a new method .findParameter() to search up the
activity hierarchy to find the element
2016-10-06 20:38:06 +02:00
Robert von Burg 89830c0412 [Minor] resource id and type are optional in model schema 2016-10-06 08:17:26 +02:00
Robert von Burg 61b3a3e5bf [Minor] Fixing broken tests 2016-10-03 11:36:35 +02:00
Robert von Burg f023f682a8 [Major] Implemented State Model on Activity/Actions
We have three major blocks:
- In Execution Warning:
  - STOPPED
  - WARNING
  - ERROR
- in execution:
  - above including EXECUTION and EXECUTED
- in planning:
  - PLANNING and PLANNED
- CREATED
- CLOSED

EXECUTION is used if any action is EXECUTED and a prior state exists
PLANNING is used if any action is PLANNED and PLANNING or CREATED 
  state exists
CLOSED is only used if everything is CLOSED, otherwise one of the
previous states is used
2016-09-30 16:28:35 +02:00
Robert von Burg 3385694563 [Project] StrolchModel-1.4.xsd: added required for attributes 2016-09-28 15:15:18 +02:00
Robert von Burg d86e23b58f [Fix] Fixed locator finding for Activity and Action 2016-09-23 13:29:02 +02:00
Robert von Burg c4748403d8 [Major] Versionized Namespace to 1.4 2016-09-23 11:09:39 +02:00
Robert von Burg d74807cffa [Major] Versionized Namespace to 1.4 2016-09-23 11:06:12 +02:00
Robert von Burg d413794213 [Major] Added Activity.TimeOrdering and updated Model XSD 2016-09-23 10:53:37 +02:00
Robert von Burg dc0a34dc9d [Project] Set new snapshot version 1.4.0-SNAPSHOT 2016-09-22 11:33:15 +02:00
Robert von Burg bda16a0f80 [Project] Updated project for deployment to Maven Central 2016-09-22 09:37:55 +02:00
Robert von Burg e3ea9fa159 [New] When retrieving new templates, then the type and ID is set auto 2016-09-21 15:47:18 +02:00
Robert von Burg 6339f7df93 [Minor] Don't allow to add TimedState if already exists 2016-09-19 21:46:52 +02:00
Robert von Burg d127a93ed7 [Minor] SimpleStrolchElementListener now stores as map 2016-09-17 17:21:39 +02:00
Robert von Burg 916f927ccd [Minor] Allow to create locator even if parent is missing 2016-09-01 10:06:32 +02:00
Robert von Burg 41f5f22574 [Minor] Allow to override privilegeValue in StrolchElementQuery
use this together with the value "internal" to define queries as
internal, so you can make them executable without having to allow all
queries
2016-08-31 12:29:29 +02:00
Robert von Burg 9cc7ed72b0 [New] StrolchValueType has methods .isBoolean(), isNumber, isString() 2016-08-26 16:42:26 +02:00
Robert von Burg a60c300d5c [New] Creating a XML Schema for Strolch model as XML 2016-08-12 10:25:06 +02:00
Robert von Burg 5dd1a6f277 [New] Creating a XML Schema for Strolch model as XML 2016-08-12 10:22:02 +02:00
Robert von Burg 762f36b184 [New] Creating a XML Schema for Strolch model as XML 2016-08-12 10:21:29 +02:00
Robert von Burg 977674b9c5 [New] Creating a XML Schema for Strolch model as XML 2016-08-12 10:15:19 +02:00
Robert von Burg b889230b7e [New] Creating a XML Schema for Strolch model as XML 2016-08-11 11:11:37 +02:00
Robert von Burg 8c4c8e539e [Major] Implemented opt-in versioning
- Implemented marshalling of Version
- Added further tests for marshalled version
- added version in deep equals
- fixing further tests
2016-08-07 17:47:52 +02:00
Robert von Burg 26961b33cc [Major] Implemented opt-in versioning
- adding versioning tests
- fixing broken tests
- implemented missing PostgreSQL DAO methods
2016-08-07 11:49:36 +02:00
Robert von Burg 9dc09515e9 [Major] Implemented opt-in versioning
Now all root elements have a version, and if the realm has versioning
enabled, then actions through the ElementMap lead to new versions being
created. There are also methods to revert/undo changes to an object.

Some tests are still failing, this will be fixed later
2016-08-05 20:24:23 +02:00
Robert von Burg 0703103d3b [Major] Refactored object hierarchy and added version to objects
- New ParameterBagContainer interface for GroupedParameterizedElement
- StrolchRootElement extends ParameterBagContainer
- StrolchRootElement is now required in Queries, not StrolchElement
- New Version object on StrolchRootElement
2016-07-31 14:56:57 +02:00
Robert von Burg 47df6b20c7 [New] Added proper marshalling to/from JSON for entire model 2016-07-31 09:28:06 +02:00
Robert von Burg 612745098b [Project] Set new SNAPSHOT version 1.3.0-SNAPSHOT 2016-07-05 09:57:44 +02:00
Robert von Burg 611a7c670a [Project] Set new SNAPSHOT version 1.2.1-SNAPSHOT 2016-07-05 09:56:56 +02:00
Robert von Burg e15b93e690 [Project] Set version 1.2.0 2016-07-05 09:52:34 +02:00
Robert von Burg 11ba7eb1de [Major] Moved ch.eitchnet to li.strolch 2016-06-26 11:38:41 +02:00
Robert von Burg 3b7e5200fa [Project] Removed parent 2016-06-24 18:05:45 +02:00
Robert von Burg 14197ed644 [Major] Cleaning up parents 2016-06-24 18:00:44 +02:00
Robert von Burg cac24481ee [New] Added toJson visitor for Activity/Action 2016-04-08 18:04:19 +02:00
Robert von Burg 8a5c4468c5 [Major] Now using a nice query parser for resource querying in planning 2016-04-05 08:30:40 +02:00
Robert von Burg a74508ba12 [WIP] Added Resource table loading to planning web 2016-04-01 18:24:35 +02:00