Commit Graph

311 Commits

Author SHA1 Message Date
Robert von Burg ba115b70c4 [Fix] Remove version of parsed files in inspector 2018-02-02 11:50:00 +01:00
Reto Breitenmoser ab0930eec8 [Minor] added function for ignoring paramBags by type 2018-01-21 18:18:34 +01:00
Robert von Burg 00e41fdc4a [Minor] round to 8 decimals in FloatParameter and FloatValue 2018-01-19 11:12:32 +01:00
Robert von Burg c5e272eabd [Minor] Added DateSelection(DateRange) 2018-01-12 16:16:11 +01:00
Robert von Burg d385025609 [Minor] Added PolicyContainer.getPolicyDef(Class) 2018-01-12 16:15:39 +01:00
Robert von Burg 83624b2101 [Minor] Allow empty Locator 2018-01-04 14:48:41 +01:00
Robert von Burg 04f4fed0ba [New] Added toJson() to ServiceResult, ModelStatistics 2017-11-29 16:56:36 +01:00
Robert von Burg ae357346cc [Fix] Fixed compile error in GroupedParameterizedElement.removeParameter 2017-11-01 11:47:06 +01:00
Robert von Burg 2d60a352b4 [Fix] Fix not allow to re-add removed element with versioning enabled 2017-11-01 10:15:21 +01:00
Robert von Burg c0bf2ae428 [Major] Refactored GenericReport into Policies for extension 2017-10-18 13:11:39 +02:00
Robert von Burg b7adf9e638 [New] Added StrolchRootElement.getClone():StrolchRootElement 2017-10-18 13:10:42 +02:00
Robert von Burg f2b0666ece [New] Added ParameterBagContainer.getParameterBag(String, boolean) 2017-10-18 13:10:16 +02:00
Robert von Burg 2cb799dfb4 [Major] Removed the need for javax.xml.bind.* imports. Using gson 2017-09-29 15:57:21 +02:00
Robert von Burg 76e7403974 [Project] Update all dependencies and plugin dependencies in pom.xml 2017-09-28 19:11:34 +02:00
Robert von Burg ba766fdaf5 [Fix] Fix switch fall-through in XmlModelSaxReader 2017-09-28 19:09:37 +02:00
Robert von Burg 3310bb8766 [Minor] Fix compile warnings 2017-09-26 15:01:02 +02:00
Robert von Burg 75123f1040 [Minor] Fix compile error on JDK 9 due to upper bound error 2017-09-25 12:24:00 +02:00
Robert von Burg 9a5bfefa3f [New] Added ParameterizedElement.getParametersByInterpretationAndUom() 2017-09-13 15:28:18 +02:00
Robert von Burg e128d42365 [New] Added getParametersByInterpretation() 2017-09-06 18:51:34 +02:00
Robert von Burg 76b2fd2eb2 [New] Added add REST API for root elements to inspector 2017-08-28 12:46:03 +02:00
Robert von Burg a27e9a2999 [Project] Set new snapshot version 1.6.0-SNAPSHOT 2017-08-24 14:11:29 +02:00
Robert von Burg b3adf8dfa5 [Major] Implemented new ToErrorReservationExecution 2017-08-18 17:42:02 +02:00
Robert von Burg 07ab2fa971 [Minor] JavaDoc correction 2017-08-18 10:00:41 +02:00
Robert von Burg 2863a5746b [Fix] Fixed wrong filtering of resources 2017-08-18 09:46:54 +02:00
Robert von Burg f2cdea3b7d [Major] Changes in LogMessage, not using ID for equals 2017-08-16 11:23:44 +02:00
Robert von Burg 3bd9121671 [New] Added Resource.getTimedState(String, boolean) 2017-08-11 15:16:01 +02:00
Robert von Burg cfe8664ddc [Minor] Allow to set Action to ERROR, if already in ERROR 2017-08-09 11:31:10 +02:00
Robert von Burg c79f1d6ae6 [Fix] Returning 401 if session is invalid, 403 for privilege 2017-07-26 15:15:20 +02:00
Robert von Burg ae1de1112d [New] Added Activity.getActionsAsFlatList() and .getActionsByType() 2017-07-25 16:36:53 +02:00
Robert von Burg e71b7b018b [Major] Now exposing StrolchTransaction.assertHasPrivilege()
Enforcing privilege checking was a bad idea
2017-07-25 14:12:51 +02:00
Robert von Burg 5640df965a [Fix] Allow to add further selections to BooleanSelection 2017-07-13 15:04:38 +02:00
Robert von Burg a214853e94 [Major] Inspector can now update StrolchElements from JSON/XML 2017-07-05 15:07:51 +02:00
Robert von Burg 99fadd10d9 [Minor] JavaDoc fix 2017-06-27 12:41:40 +02:00
Robert von Burg ad8f0220e9 [Project] filter all property files 2017-06-20 15:38:46 +02:00
Robert von Burg 5ac798f42c [Fix] Created/Closed combination is also possible 2017-06-19 10:08:45 +02:00
Robert von Burg f73b8e2455 [Fix] Fixed getting next/previous element of activity 2017-06-19 10:08:25 +02:00
Robert von Burg e459b561b8 [Major] LogMessage now has an ID which is used in OperationsLog 2017-06-15 13:33:14 +02:00
Robert von Burg 9251250949 [Major] Removed State STARTING 2017-06-14 16:46:04 +02:00
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
Robert von Burg 503954554b [Minor] Minor fixes 2016-02-10 18:13:20 +01:00
Robert von Burg 794b3a4d38 [Project] Resource.getTimedState():<T extends StrolchTimedState<?>> T 2016-02-10 17:57:43 +01:00
Robert von Burg 465d949071 [Minor] removed unnecessary cast 2016-02-10 17:48:55 +01:00
Robert von Burg 3502a4adad [Minor] Removed redundant types (diamond operator) 2016-02-10 17:46:50 +01:00
Robert von Burg 0473b472b3 [Major] Added PolicyContainer interface
Resource, Order, Activity and Action now implement this interface and Command.getPolicy() now takes a PolicyContainer as a parameter.
2016-02-10 17:37:50 +01:00
Robert von Burg 8fdcc00ed7 [New] Changed GroupedParameterizedElement.getParameter()
- now returns <T extends Parameter<?>>
2015-12-02 22:04:28 +01:00
Robert von Burg 9c7b155b9d [Minor] Fixed closing empty tag in StrolchElementToSaxWriterVisitor 2015-11-28 12:37:15 +01:00
Robert von Burg d06fe4fb04 [New][Major] Initial to JSON visitors for Resources and Orders
- added PolicyDefs to Actions
- also fixed a bug in StringSetValue().getValueAsString()
- further refactorings and clean-up
2015-11-16 22:37:00 +01:00
Robert von Burg b76f90d7bd [Minor] Allow not setting of State on Order and Action 2015-08-28 15:00:10 +02:00
Robert von Burg 01a86ca9f7 [Major] Added StrolchPolicy as super class of all Strolch policies
- this allows to inject a StrolchTransaction and the ComponentContainer
during instantiation
2015-08-22 20:44:31 +02:00
Robert von Burg 12ca8c4f07 [Major] Refactored package for policies in model project
- added additional tests
2015-08-22 15:29:48 +02:00
Robert von Burg 5da07f5824 [Major] Refactored package for policies in model project
- added additional tests
2015-08-22 15:09:30 +02:00