Commit Graph

1767 Commits

Author SHA1 Message Date
Robert von Burg 537c6ea8d0 [Fix] Properly initialize GenericReport 2017-03-27 14:39:03 +02:00
Robert von Burg 7ee002adcf [New] Added GroupedParameterizedElement.getParameterBag(String,boolean) 2017-03-27 14:36:09 +02:00
Robert von Burg a982097d4f [Minor] added GenericReport.getOrderedColumnKeys() 2017-03-27 14:04:39 +02:00
Robert von Burg 3935a425e0 [Minor] Simplified GenericReport implementation 2017-03-27 11:51:53 +02:00
Robert von Burg 2bc76ca79b [New] Added putAll and addAll to MapOf* collections 2017-03-27 11:50:18 +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 bc52cdabda [Minor] Also allow to pass a Set for filter 2017-03-24 11:25:56 +01:00
Robert von Burg 22892671a5 [New] Added searching of column parameter in GenericReport
If a column definition exists as follows:
  <Parameter Id="minQuantity" Name="Min Quantity" Type="String"
Interpretation="Resource-Ref" Uom="Storage"
Value="$search:parent:Bags/parameters/minQuantity" />
  
Then a search is done by looking on this element, and all "parent"
elements where the parent relation is defined by the parameter with the
id "parent". The first instance of the Parameter "minQuantity" is used
as the value for the report.
2017-03-22 14:55:54 +01:00
Robert von Burg 1c4decd578 [Fix] Don't add a null value to the rows in GenericReport 2017-03-22 13:55:31 +01:00
Robert von Burg 9c45bf2ec3 [New] GenericReport: DateRange filter, incl. $id, $type, $date, $state 2017-03-21 15:34:10 +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 0661c675e4 [Project] Added new blog entry 2017-03-21 09:04:25 +01:00
Robert von Burg 332463f8a9 [New] Added GenericReport.generateFilterCriteria()
This allows the UI to show filter facets based on the actual data
2017-03-21 08:23:29 +01:00
Robert von Burg b0e57d6425 [New] Added filtering to GenericReport 2017-03-21 07:51:13 +01:00
Robert von Burg 30ad0fcaa8 [New] Added new generic report creator
Create a Report as follows:

<Resource Id="stockReport" Name="Stock Report" Type="Report">

  <ParameterBag Id="parameters" Name="parameters" Type="Parameters">
    <Parameter Id="objectType" Name="Object Type" Type="String"
Interpretation="Resource-Ref" Uom="Slot" Value="Slot" />
  </ParameterBag>

  <ParameterBag Id="columns" Name="Display Columns" Type="Display">
    <Parameter Id="location" Name="Location" Type="String"
Interpretation="Resource-Ref" Uom="Location" Value="$name" />
    <Parameter Id="storage" Name="Storage" Type="String"
Interpretation="Resource-Ref" Uom="Storage" Value="$name" />
    <Parameter Id="section" Name="Section" Type="String"
Interpretation="Resource-Ref" Uom="Section" Value="$name" />
    <Parameter Id="slot" Name="Slot" Type="String"
Interpretation="Resource-Ref" Uom="Slot" Value="$name" />
    <Parameter Id="product" Name="Product" Type="String"
Interpretation="Resource-Ref" Uom="Product" Value="$name" />
    <Parameter Id="quantity" Name="Quantity" Type="String"
Interpretation="Resource-Ref" Uom="Slot"
Value="Bags/parameters/quantity" />
    <Parameter Id="maxQuantity" Name="Quantity" Type="String"
Interpretation="Resource-Ref" Uom="Slot"
Value="Bags/parameters/maxQuantity" />
  </ParameterBag>

  <ParameterBag Id="joins" Name="Joins" Type="Joins">
    <Parameter Id="Product" Name="Product" Type="String"
Interpretation="Resource-Ref" Uom="Product" Value="Slot" />
    <Parameter Id="Section" Name="Section" Type="String"
Interpretation="Resource-Ref" Uom="Section" Value="Slot" />
    <Parameter Id="Storage" Name="Storage" Type="String"
Interpretation="Resource-Ref" Uom="Storage" Value="Section" />
    <Parameter Id="Location" Name="Location" Type="String"
Interpretation="Resource-Ref" Uom="Location" Value="Storage" />
  </ParameterBag>

</Resource>

This creates a report for objects of type Slot, where a Join is done on
multiple objects:
  Slot
    -> Product
    -> Section
         -> Storage
               -> Location

Thus the columns can then be fetched from different joing objects. The
joing is done by searching for a Parameter on the joined object on the
ParameterBag "relations". See the example XML on how this is done.

Or ask eitch@eitchnet.ch to write a proper documentation =))

Filtering is missing, and will be added later
2017-03-20 19:27:59 +01:00
Robert von Burg 5fd8e7df8f [Minor] Added RuntimeMock.mockRuntime(String, String) 2017-03-20 19:24:03 +01:00
Robert von Burg a618fff095 [New] SmtpMailer now understands whitelists for override 2017-03-16 13:45:30 +01:00
Robert von Burg 58248058e5 [New] SmtpMailer now understands whitelists for override 2017-03-16 13:25:04 +01:00
Robert von Burg a88a098bf3 [Minor] Wrapping exception in FromFlatJsonVisitor 2017-03-14 18:48:42 +01:00
Robert von Burg 1470540ac7 [Project] Minor fix in codetemplates.xml 2017-03-12 14:22:06 +01:00
Robert von Burg 40077c5b62 [Fix broken tests] 2017-03-09 11:21:11 +01:00
Robert von Burg 8e06ccb7e1 [Minor] Don't log exceptions if user fails to auth 2017-03-09 11:07:39 +01:00
Robert von Burg 1102f34d18 [Minor] Don't log stack trace if certificate does not exist 2017-03-08 17:51:49 +01:00
Robert von Burg 8310dc1a44 [Project] Updated to petit-parser 2.0.3 2017-03-07 09:49:56 +01:00
Robert von Burg e4e35e5392 [Fix] AuthenticationRequestFilter now has priority AUTHENTICATION 2017-03-06 17:27:44 +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 fbc019e7fb [Minor] Added JavaDoc to DateHelper.truncateTimeFromTimestamp 2017-03-02 12:01:15 +01:00
ice21 810f3ee203 [Minor] Added helper to cut time from a date and return date in Millisec (#4)
* [Minor] Added helper to cut time from a date and return date in Millisec

* [Dev] Formatting code
2017-03-01 19:28:52 +01:00
Robert von Burg cf5f717a69 [New] Added JsonServiceResult constructors 2017-03-01 01:42:38 +01:00
Robert von Burg 70e4214915 [Fix] Fixing CORS not working for cordova apps 2017-03-01 01:41:59 +01:00
Robert von Burg 37562fdc27 [Minor] Log the different actions in DefaultPrivilegeHandler 2017-03-01 01:38:49 +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 111a75c034 [Fix] Lock activities during execution! 2017-02-21 18:48:24 +01:00
Robert von Burg 5c8ccabd7f [New] Added new ReservationExection to reserve resources 2017-02-20 17:32:44 +01:00
Martin Voigt 6466157c90 [minor] use execpetion message instead of empty text, if no restrictable is given for unauthorized access (#2) 2017-02-20 13:21:57 +01:00
Robert von Burg 0852557aaa [New] Added ResponseUtil.toResponse(ServiceResult) 2017-02-20 12:13:51 +01:00
Robert von Burg 99989de8b4 [New] Added StringMapResult to use as a ServiceResult 2017-02-20 09:17:18 +01:00