You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2016/10/23 14:23:45 UTC
[04/28] zest-java git commit: ZEST-180, ZEST-186, ZEST-187,
ZEST-188 Big Identity refactoring UnitOfWorkFactory is auto added to
all modules that doesn't declare one IdentityGenerator is auto-added to all
modules that deosn't declare one. Removed DCI/DDD
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectArrivedCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectArrivedCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectArrivedCargo.txt
deleted file mode 100644
index 245cc8d..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectArrivedCargo.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-
-USE CASE Inspect Arrived Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a cargo that
-has been unloaded at its final destination according to the route specification.
-
-Since the route specification is the single authority to determine the final
-destination of the cargo - regardless of any itinerary - we should be able to
-only save the routing/misdirection status for internal reference without
-notifying the cargo owner. Could be interesting to hear what a domain expert
-thinks of this...
-
-Our _transportation_ obligations have ended here and our last responsibility is to
-notify the cargo owner that the cargo has arrived and is ready to be claimed.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo has been unloaded from a carrier in final destination.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of arrived cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector determines that cargo is routed (for internal reference).
-3. Delivery Inspector sets next expected handling event to claim.
-4. Delivery Inspector saves cargo delivery snapshot.
-5. Delivery Inspector notifies cargo owner of cargo arrival at final destination.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed.
-
-2b. RouteSpecification is not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectCargoInCustoms.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectCargoInCustoms.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectCargoInCustoms.txt
deleted file mode 100644
index 8079a47..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectCargoInCustoms.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-
-USE CASE Inspect Cargo In Customs [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a cargo being
-handled in customs.
-
-It seems from the DDD sample code that a cargo can be handled by customs authorities
-in any location. So even if this is different from the last known location - or even
-not in the itinerary - the cargo will still be on track.
-
-In the DDD sample we can have additional transportation after a customs handling event,
-but isn't a claim a more logical expected next step? Can a cargo be handled by customs
-authorities and then continue its travel to other locations?!
-
-For now we don't predict any next handling event - a domain expert opinion on this
-would be interesting.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo is in port (??) and handled by customs authorities.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of cargo in customs.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector determines that cargo is routed (for internal reference).
-3. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed.
-
-2b. RouteSpecification is not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectClaimedCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectClaimedCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectClaimedCargo.txt
deleted file mode 100644
index 8737eee..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectClaimedCargo.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-
-USE CASE Inspect Claimed Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a claimed cargo.
-
-The cargo owner can claim the cargo in any location along the route or even in an
-unexpected location if it was misdirected! Whenever it gets picked up it marks the
-end of the cargo delivery cycle.
-
-From this point our job is done and we have no reason to determine a next handling
-event or notify the cargo owner of the cargo eventually being misdirected or
-misrouted (we though calculate it for internal reference).
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo has been claimed by cargo owner.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of claimed cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector determines that cargo was routed (for internal reference).
-3. Delivery Inspector determines that cargo was on track according to itinerary (for internal reference).
-4. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed.
-
-2b. RouteSpecification was not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted.
-
-3a. Claim location was not the same as itinerary destination:
- 1. Delivery Inspector marks cargo as misdirected.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectLoadedCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectLoadedCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectLoadedCargo.txt
deleted file mode 100644
index 54c29a9..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectLoadedCargo.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-
-USE CASE Inspect Loaded Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a loaded cargo.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo has been loaded onto a carrier.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of loaded cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector determines next expected unload from carrier.
-3. Delivery Inspector verifies that cargo is routed.
-4. Delivery Inspector verifies that cargo is on track.
-5. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo loaded onto carrier without being routed:
- 1. Delivery Inspector marks cargo as non-routed and misdirected (??).
- 2. Delivery Inspector saves delivery snapshot (step 5).
- 3. Delivery Inspector sends notification of non-routed cargo and exits.
-
-2b. Voyage schedule has changed:
- 1. Delivery Inspector marks cargo as non-routed and misdirected (??).
- 2. Delivery Inspector saves delivery snapshot (step 5).
- 3. Delivery Inspector sends notification of non-routed cargo and exits.
-
-3a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed and saves delivery snapshot.
- 2. Delivery Inspector sends notification of non-routed cargo and exits.
-
-3b. RouteSpecification is not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misrouted cargo and exits.
-
-4a. Voyage schedule didn't expect load location:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
-
-4b. Itinerary didn't expect load location:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
-
-4c. Itinerary didn't expect voyage:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
-
-4d. Itinerary didn't expect voyage but arrival location of carrier is expected:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector notifies shipper of (for them unexpected) cargo to be unloaded in next port.
-
-4e. Itinerary didn't expect voyage arrival location:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectReceivedCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectReceivedCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectReceivedCargo.txt
deleted file mode 100644
index c7b5474..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectReceivedCargo.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-
-USE CASE Inspect Received Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a cargo that has
-been received from the cargo owner in the origin location.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo hasn't been received but not transported yet.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of received cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector verifies that cargo is routed.
-3. Delivery Inspector verifies that cargo is received in cargo origin location.
-4. Delivery Inspector determines next expected load onto carrier.
-5. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-3a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed and updates delivery status.
- 2. Delivery Inspector sends notification of non-routed cargo and exits.
-
-3b. RouteSpecification is not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted and updates delivery status.
- 2. Delivery Inspector sends notification of misrouted cargo and exits.
-
-4a. Cargo wasn't received in origin location:
- 1. Delivery Inspector marks cargo as misdirected and updates delivery status.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnhandledCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnhandledCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnhandledCargo.txt
deleted file mode 100644
index 8744ffe..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnhandledCargo.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-
-USE CASE Inspect Unhandled Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a cargo that has
-not been received in the origin location yet.
-
-Since the route specification is the single authority to determine the origin
-of the cargo - regardless of any itinerary - we expect the cargo to be received
-in the origin location as the first handling event.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo has not been received yet.
-Trigger........ Delivery Inspector receives request to inspect the delivery status of unhandled cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector verifies that cargo is routed.
-3. Delivery Inspector sets expected receipt in origin location.
-4. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed.
-
-2b. RouteSpecification is not satisfied by Itinerary:
- 1. Delivery Inspector marks cargo as misrouted.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnloadedCargo.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnloadedCargo.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnloadedCargo.txt
deleted file mode 100644
index c250bb1..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/inspection/event/InspectUnloadedCargo.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-
-USE CASE Inspect Unloaded Cargo [subfunction]
-===========================================================================
-A Delivery Inspector inspects and updates the delivery status of a cargo that has
-been unloaded in a midpoint of the itinerary (not in final destination).
-
-If cargo has been re-routed while the cargo was on board a carrier, the unload
-location will be unexpected to the new itinerary. But we don't consider this as
-misdirected since the unload is related to the old itinerary.
-
-
-Primary actor.. Delivery Inspector
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. Cargo has been unloaded from a carrier in midpoint (not destination).
-Trigger........ Delivery Inspector receives request to inspect the delivery status of unloaded cargo.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Delivery Inspector collects known delivery data.
-2. Delivery Inspector verifies that cargo is routed.
-3. Delivery Inspector verifies that cargo is on track.
-4. Delivery Inspector determines next expected load onto carrier.
-5. Delivery Inspector saves cargo delivery snapshot.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Cargo has no itinerary:
- 1. Delivery Inspector marks cargo as non-routed and updates delivery status.
- 2. Delivery Inspector sends notification of non-routed cargo and exits.
-
-2b. Route specification is not satisfied by itinerary:
- 1. Delivery Inspector marks cargo as misrouted and updates delivery status.
- 2. Delivery Inspector sends notification of misrouted cargo and exits.
-
-3a. Cargo is misdirected and unloaded in route specification origin (cargo was re-routed):
- 1. Delivery Inspector marks cargo as not misdirected.
-
-3b. Itinerary didn't expect unload location:
- 1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
- 2. Delivery Inspector sends notification of misdirected cargo and exits.
-
-3c. Itinerary didn't expect unload voyage but unload location was expected:
- 1. Surprising, but do we care?
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/parsing/ParseHandlingEventData.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/parsing/ParseHandlingEventData.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/parsing/ParseHandlingEventData.txt
deleted file mode 100644
index 074b847..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/parsing/ParseHandlingEventData.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-
-USE CASE Parse Handling Event Data [subfunction]
-===========================================================================
-System receives and parses handling event data coming in from a handling authority
-(port, shipper, customs etc).
-
-Primary actor.. Data Parser
-Scope.......... Handling Monitoring System in shipping application
-Preconditions.. None
-Trigger........ Incident logging application sends handling event registration attempt.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. External incident logging application provides handling event data for a handled cargo.
-2. Data Parser verifies that data is complete.
-3. Data Parser performs basic type conversion.
-4. Data Parser collects parsed handling event data.
-5. Data Parser returns parsed handling event data to handling system.
-
-
-Deviations
----------------------------------------------------------------------------
-2a. Completion time, tracking id, event type or unLocode is null or empty:
- 1. Failure.
-
-3a. Completion time string is not in ISO 8601 format:
- 1. Failure.
-
-3b. Handling event type string is not recognized:
- 1. Failure.
-
-
-Technology & Data variations *)
----------------------------------------------------------------------------
-The same business scenario can be implemented with various combinations of
-technologies:
-
-1a. Receive handling event data
- 1. manually (form input)
- 2. automatically (web service, file upload, etc.)
-
-4a. Return handling event DTO
- 1. synchronously (return value)
- 2. asynchronously (JMS, event sourcing, etc.)
-
-
----------------------------------------------------------------------------
-Success guarantees:
- Valid handling event DTO is returned.
-
-Minimal guarantees:
- Data consistency: Invalid data is rejected.
- Handling authorities are notified of invalid handling event data.
-
-Stakeholders/Interests:
- Handling System - wants data consistency
- Handling authority - wants notification of rejected handling event data submission.
-
-
-
-*) See A. Cockburn: "Writing Effective Use Cases", pp 111
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/registration/RegisterHandlingEvent.txt
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/registration/RegisterHandlingEvent.txt b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/registration/RegisterHandlingEvent.txt
deleted file mode 100644
index 6d9bb76..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/context/usecase/handling/registration/RegisterHandlingEvent.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-
-USE CASE Register Handling Event [subfunction]
-===========================================================================
-Event Registrar registers handling event in system.
-
-Primary actor.. Event Registrar
-Scope.......... Handling Monitoring System in booking application
-Preconditions.. None
-Trigger........ Event Registrar receives parsed handling event data.
-
-
-Main Success Scenario
----------------------------------------------------------------------------
-1. Event Registrar finds cargo from tracking id string.
-2. Event Registrar finds location from UnLocode string.
-3. Event Registrar finds voyage from voyage number string.
-4. Event Registrar verifies that cargo is not received, in customs or claimed more than once.
-5. Event Registrar verifies that cargo is not handled after being claimed.
-6. Event Registrar creates a handling event in the system.
-
-
-Deviations
----------------------------------------------------------------------------
-1a. Tracking id string doesn't represent a Cargo in Handling System:
- 1. Failure.
-
-2a. UnLocode string doesn't represent a Location in Handling System:
- 1. Failure.
-
-3a. Handling event type doesn't require a Voyage:
- 1. Continue.
-
-3b. Voyage number string is missing:
- 1. Failure.
-
-3c. Voyage number string doesn't represent a Voyage in Handling System:
- 1. Failure.
-
-4a. Cargo is received, in customs or claimed more than once:
- 1. Failure.
-
-5a. Cargo is handled after being claimed by cargo owner:
- 1. Failure (can't continue handling after claim).
-
-
-Technology & Data variations *)
----------------------------------------------------------------------------
-The same business scenario can be implemented with various combinations of
-technologies:
-
-5a. Return handling event object
- 1. synchronously (return value)
- 2. asynchronously (JMS, event sourcing, other?)
-
-
----------------------------------------------------------------------------
-Success guarantees:
- Verified handling event object is returned.
-
- Handling event is registered in Handling System.
- Cargo delivery status is successfully inspected.
- Handler is notified of successful handling event registration.
- Cargo Owner is notified if cargo is misdirected or has arrived.
-
-Minimal guarantees:
- Data consistency: invalid handling events are not created.
- Handling authorities are notified of unrecognized handling event data.
-
-Stakeholders/Interests:
- Handling System - wants data consistency
- Handling authority - wants notification of rejected handling event data submission.
-
-
-
-
-*) See A. Cockburn: "Writing Effective Use Cases", pp 111
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/link/LinkPanel.html
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/link/LinkPanel.html b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/link/LinkPanel.html
deleted file mode 100644
index 3fee648..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/link/LinkPanel.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~
- ~
- -->
-
-<html xmlns:wicket>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<wicket:panel>
- <a wicket:id="link"><span wicket:id="label"></span></a>
-</wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/prevnext/PrevNext.html
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/prevnext/PrevNext.html b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/prevnext/PrevNext.html
deleted file mode 100644
index f7e8a73..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/prevnext/PrevNext.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~
- ~
- -->
-
-<html xmlns:wicket>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<wicket:head>
- <link href="css/prev-next.css" rel="stylesheet" type="text/css"/>
-</wicket:head>
-<wicket:panel>
- <div class="prevNextIcons">
- <a class="prev" href="#" wicket:id="prev"></a>
- <a class="next" href="#" wicket:id="next" ></a>
- </div>
-</wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/tabs/TabsPanel.html
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/tabs/TabsPanel.html b/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/tabs/TabsPanel.html
deleted file mode 100644
index fa97eb1..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/resources/org/apache/zest/sample/dcicargo/sample_b/infrastructure/wicket/tabs/TabsPanel.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~
- ~
- -->
-
-<html xmlns:wicket>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<wicket:head>
- <link href="css/tabs.css" rel="stylesheet" type="text/css"/>
-</wicket:head>
-<wicket:panel>
- <div id="tabs">
- <ul>
- <li wicket:id="tabsView"><a href="#" wicket:id="link"><span wicket:id="label"></span></a></li>
- </ul>
- </div>
-
- <!-- Clear floating to force subsequent containers to draw beneath the tabs -->
- <div style="clear:both"></div>
-</wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/WEB-INF/web.xml b/samples/dci-cargo/dcisample_b/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 2d0e937..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~
- ~
- -->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
-
- <display-name>DCI Sample (version B)</display-name>
-
- <filter>
- <filter-name>DCISample_basic_redirect</filter-name>
- <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
- <init-param>
- <param-name>applicationClassName</param-name>
- <param-value>org.apache.zest.sample.dcicargo.sample_b.bootstrap.DCISampleApplication_b</param-value>
- </init-param>
- </filter>
-
- <filter-mapping>
- <filter-name>DCISample_basic_redirect</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
-</web-app>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/css/prev-next.css
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/css/prev-next.css b/samples/dci-cargo/dcisample_b/src/main/webapp/css/prev-next.css
deleted file mode 100644
index 62e2fa6..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/webapp/css/prev-next.css
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-
-.prevNextIcons {
- /* Modify custom positioning here */
- float:left;
- margin-top: 17px;
- margin-right: 10px;
-}
-
-.prevNextIcons a {
- padding:8px;
- background-repeat:no-repeat;
-}
-
-.prevNextIcons .prev {
- background-image: url("../../graphics/icon/prev.png");
-}
-.prevNextIcons .prevDisabled {
- background-image: url("../../graphics/icon/prev_disabled.png");
- pointer-events: none;
- cursor: default;
-}
-
-.prevNextIcons .next {
- margin-left:8px;
- background-image: url("../../graphics/icon/next.png");
-}
-.prevNextIcons .nextDisabled {
- margin-left:8px;
- background-image: url("../../graphics/icon/next_disabled.png");
- pointer-events: none;
- cursor: default;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/css/style.css
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/css/style.css b/samples/dci-cargo/dcisample_b/src/main/webapp/css/style.css
deleted file mode 100644
index bc4fe11..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/webapp/css/style.css
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-
-body {
- margin: 2em;
- font-family: 'Lucida Sans', 'Helvetica', 'Sans-serif', 'sans', sans-serif;
- font-size: 9pt;
- line-height: 1.2em;
- background-color: #f5f5f5;
-}
-
-h1, h2, h3, h4, h6 {
- color: #E9601A;
-}
-h4 {
- margin-bottom: 5px;
-}
-a{
- text-decoration:none;
-}
-a:hover{
- text-decoration:underline;
-}
-a:visited{
- color:blue;
-}
-
-.left {
- float: left;
- width: 75%;
-}
-.right {
- font-family: 'Verdana', Arial, Helvetica, serif;
- text-align:right;
- color: #666;
- font-size: 8pt;
- font-style: italic;
- font-weight: normal;
- line-height: 1.5em;
- margin-bottom: -50px;
-}
-.headline {
- margin-bottom:17px;
-}
-.headline a {
- text-decoration:none;
- color: #E9601A;
- font-size: 2em;
- font-weight: bold;
-}
-
-#box {
- border-width: 0px 1px 1px;
- border-style: solid;
- border-color: 484a4a;
- padding: 1em;
- overflow: hidden;
- background-color: white;
-}
-
-.headerMenu {
- margin-top:10px;
- margin-bottom:20px;
- color: #E9601A;
- font-size: 1.5em;
- font-weight: bold;
-}
-.headerMenu a {
- margin-left:15px;
- font-size: 9pt;
- font-weight: normal;
-}
-
-pre, table, td {
- font-family: 'Verdana', Arial, Helvetica, serif;
- font-size: 9pt;
- line-height: 1.1em;
-}
-
-table td, th {
- padding: 4 18 4 0;
- align: left;
-}
-
-table thead {
- font-weight: bold;
-}
-
-.styleLeftColumn td:first-child {
- font-weight: bold;
-}
-
-.errorColor {
- color: red;
- font-weight: bold;
-}
-.correctColor {
- color: green;
- font-weight: bold;
-}
-
-.notifyError {
- border: 2px solid red;
- padding: 5px;
- font-weight: bold;
-}
-.notifySuccess {
- border: 2px solid green;
- padding: 5px;
- font-weight: bold;
-}
-.notifySuccess {
- border: 2px solid green;
- padding: 5px;
- font-weight: bold;
-}
-
-
-
-#toggle a {
- padding-left: 17px;
- text-decoration:none;
- color:black;
-}
-
-#toggle a:hover {
- color:blue;
-}
-
-#toggle .closed {
- background: url(/graphics/icon/triangle-closed.png) no-repeat;
- background-position: 4 2px;
-}
-#toggle .open {
- background: url(/graphics/icon/triangle-open.png) no-repeat;
- background-position: 2 4px;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/css/tabs.css
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/css/tabs.css b/samples/dci-cargo/dcisample_b/src/main/webapp/css/tabs.css
deleted file mode 100644
index 6d375aa..0000000
--- a/samples/dci-cargo/dcisample_b/src/main/webapp/css/tabs.css
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-
-#tabs {
- margin-top:12px;
- float:left;
- width:100%;
- background: #f5f5f5 url("../graphics/tabs/bg.png") repeat-x bottom;
- font-size:0.9em;
- line-height:1.6;
- }
-#tabs ul {
- margin:0;
- padding:10px 0;
- list-style:none;
- }
-#tabs li {
- float:left;
- background: #f5f5f5 url("../graphics/tabs/left.png") no-repeat left top;
- margin:0;
- padding:0 0 0 11px;
- }
-#tabs a {
- float:left;
- display:block;
- background: #f5f5f5 url("../graphics/tabs/right.png") no-repeat right top;
- padding:6px 15px 4px 4px;
- text-decoration:none;
- font-weight:bold;
- color:#444;
- }
-
-#tabs a:hover {
- color:blue;
- }
-
-#tabs a:visited {
- color:#444;
-}
-
-#tabs a:visited:hover {
- color:blue;
- /*color:#E9601A;*/
-}
-
-/* Commented Backslash Hack
- hides rule from IE5-Mac \*/
-#tabs a {float:none;}
-/* End IE5-Mac hack */
-
-
-
-#tabs #current {
- background-image: url("../graphics/tabs/left_on.png");
- }
-#tabs #current a {
- background-image:url("../graphics/tabs/right_on.png");
- color:#333;
- padding-bottom:5px;
- }
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/cross.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/cross.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/cross.png
deleted file mode 100644
index 1514d51..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/cross.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/error.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/error.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/error.png
deleted file mode 100644
index 628cf2d..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/error.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next.png
deleted file mode 100644
index 823db76..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next_disabled.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next_disabled.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next_disabled.png
deleted file mode 100644
index 61b8738..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/next_disabled.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev-next.psd
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev-next.psd b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev-next.psd
deleted file mode 100644
index 14869ef..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev-next.psd and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev.png
deleted file mode 100644
index f1ccf7a..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev_disabled.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev_disabled.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev_disabled.png
deleted file mode 100644
index bc0a07b..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/prev_disabled.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/tick.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/tick.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/tick.png
deleted file mode 100644
index a9925a0..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/tick.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-closed.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-closed.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-closed.png
deleted file mode 100644
index dac3b3e..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-closed.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-open.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-open.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-open.png
deleted file mode 100644
index d9ff340..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/icon/triangle-open.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/bg.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/bg.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/bg.png
deleted file mode 100644
index a682768..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/bg.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left.png
deleted file mode 100644
index 92b5eeb..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left_on.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left_on.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left_on.png
deleted file mode 100644
index b0fcc59..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/left_on.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/original.psd
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/original.psd b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/original.psd
deleted file mode 100644
index fc71fea..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/original.psd and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right.png
deleted file mode 100644
index 97efb03..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right_on.png
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right_on.png b/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right_on.png
deleted file mode 100644
index 6d9783b..0000000
Binary files a/samples/dci-cargo/dcisample_b/src/main/webapp/graphics/tabs/right_on.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/Start8082.java
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/Start8082.java b/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/Start8082.java
deleted file mode 100644
index d676841..0000000
--- a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/Start8082.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-package org.apache.zest.sample.dcicargo.sample_b.bootstrap;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.webapp.WebAppContext;
-
-/**
- * Run this to start DCI Sample, version B
- */
-public class Start8082
-{
- private Server jetty;
-
- public static void main( String[] args ) throws Exception
- {
- new Start8082().start();
- }
-
- public void start() throws Exception
- {
- jetty = new Server();
- ServerConnector connector = new ServerConnector(jetty );
- connector.setIdleTimeout( 1000 * 60 * 60 );
- connector.setSoLingerTime( -1 );
- connector.setPort( 8082 );
- jetty.setConnectors( new Connector[]{connector} );
-
- WebAppContext webAppContext = new WebAppContext();
- webAppContext.setContextPath( "/" );
- webAppContext.setWar( "src/main/webapp" );
- jetty.setHandler( webAppContext );
-
- try
- {
- jetty.start();
- jetty.join();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- System.exit( 100 );
- }
- }
-
- public void stop() throws Exception
- {
- jetty.stop();
- jetty.join();
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestApplication.java
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestApplication.java b/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestApplication.java
deleted file mode 100644
index 9690fd7..0000000
--- a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestApplication.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-package org.apache.zest.sample.dcicargo.sample_b.bootstrap.test;
-
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import org.apache.zest.api.entity.EntityBuilder;
-import org.apache.zest.api.query.QueryBuilderFactory;
-import org.apache.zest.api.service.ServiceFinder;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.api.structure.Application;
-import org.apache.zest.api.structure.Module;
-import org.apache.zest.api.unitofwork.UnitOfWork;
-import org.apache.zest.api.unitofwork.UnitOfWorkFactory;
-import org.apache.zest.api.usecase.Usecase;
-import org.apache.zest.api.usecase.UsecaseBuilder;
-import org.apache.zest.api.value.ValueBuilder;
-import org.apache.zest.bootstrap.Energy4Java;
-import org.apache.zest.sample.dcicargo.sample_b.bootstrap.sampledata.BaseData;
-import org.apache.zest.sample.dcicargo.sample_b.data.factory.RouteSpecificationFactoryService;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.cargo.Cargo;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.cargo.RouteSpecification;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.Delivery;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.NextHandlingEvent;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.RoutingStatus;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.TransportStatus;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.handling.HandlingEvent;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.handling.HandlingEventType;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.itinerary.Itinerary;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.location.Location;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.tracking.TrackingId;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.Schedule;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.Voyage;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.VoyageNumber;
-import org.apache.zest.sample.dcicargo.sample_b.infrastructure.dci.Context;
-import org.apache.zest.sample.dcicargo.sample_b.infrastructure.testing.ExpectedException;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.rules.TestName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Base class for testing Context Interactions
- */
-public class TestApplication
- extends BaseData
-{
- protected static ServiceFinder serviceFinder;
- protected static UnitOfWorkFactory uowf;
- protected static QueryBuilderFactory qbf;
-
- // Logger for sub classes
- protected Logger logger = LoggerFactory.getLogger( getClass() );
-
- protected static Application app;
-
- protected static RouteSpecificationFactoryService routeSpecFactory;
-
- final protected static LocalDate TODAY = LocalDate.now();
- final protected static LocalDate DAY1 = day( 1 );
- final protected static LocalDate DAY2 = day( 2 );
- final protected static LocalDate DAY3 = day( 3 );
- final protected static LocalDate DAY4 = day( 4 );
- final protected static LocalDate DAY5 = day( 5 );
- final protected static LocalDate DAY6 = day( 6 );
- final protected static LocalDate DAY7 = day( 7 );
- final protected static LocalDate DAY8 = day( 8 );
- final protected static LocalDate DAY9 = day( 9 );
- final protected static LocalDate DAY10 = day( 10 );
- final protected static LocalDate DAY11 = day( 11 );
- final protected static LocalDate DAY12 = day( 12 );
- final protected static LocalDate DAY13 = day( 13 );
- final protected static LocalDate DAY14 = day( 14 );
- final protected static LocalDate DAY15 = day( 15 );
- final protected static LocalDate DAY16 = day( 16 );
- final protected static LocalDate DAY17 = day( 17 );
- final protected static LocalDate DAY18 = day( 18 );
- final protected static LocalDate DAY19 = day( 19 );
- final protected static LocalDate DAY20 = day( 20 );
- final protected static LocalDate DAY21 = day( 21 );
- final protected static LocalDate DAY22 = day( 22 );
- final protected static LocalDate DAY23 = day( 23 );
- final protected static LocalDate DAY24 = day( 24 );
- final protected static LocalDate DAY25 = day( 25 );
-
- protected static Voyage V201;
- protected static Voyage V202;
- protected static Voyage V203;
- protected static Voyage V204;
- protected static Voyage V205;
-
- final protected static Voyage noVoyage = null;
- final protected static boolean notArrived = false;
- final protected static boolean arrived = true;
- final protected static boolean directed = false;
- final protected static boolean misdirected = true;
- final protected static LocalDate unknownETA = null;
- final protected static LocalDate noSpecificDate = null;
- final protected static Integer leg1 = 0;
- final protected static Integer leg2 = 1;
- final protected static Integer leg3 = 2;
- final protected static Integer leg4 = 3;
- final protected static Integer leg5 = 4;
- final protected static Integer unknownLeg = 0;
- final protected static NextHandlingEvent unknownNextHandlingEvent = null;
-
- protected LocalDate deadline;
- protected LocalDate arrival;
- protected RouteSpecification routeSpec;
- protected RouteSpecification newRouteSpec;
- protected Delivery delivery;
- protected Cargo cargo;
- protected TrackingId trackingId;
- protected String trackingIdString;
- protected Itinerary itinerary;
- protected Itinerary wrongItinerary;
- protected HandlingEvent handlingEvent;
- protected Location MELBOURNE;
- protected Location HANGZHOU;
- protected Location HONGKONG;
- protected Location SHANGHAI;
- protected Location HAMBURG;
- protected Location STOCKHOLM;
- protected Location DALLAS;
- protected Location NEWYORK;
- protected Location MOGADISHU;
- protected Location ROTTERDAM;
- protected Location HELSINKI;
- protected Location GOTHENBURG;
- protected Location TOKYO;
- protected Location CHICAGO;
-
- protected TestApplication()
- {
- super( findHostingModule() );
- }
-
- @BeforeClass
- public static void setup() throws Exception
- {
- System.out.println( "\n@@@@@@@@@@@ TEST SUITE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" );
- app = new Energy4Java().newApplication( new TestAssembler() );
- app.activate();
- Module module = findHostingModule();
- serviceFinder = module;
- qbf = module;
- uowf = module.unitOfWorkFactory();
- Context.prepareContextBaseClass( module.unitOfWorkFactory(), module );
-
- }
-
- // Allow to test message output from exceptions after they have been thrown
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- // Print current test method name to console
- @Rule
- public TestName name = new TestName();
-
- @Before
- public void prepareTest()
- throws Exception
- {
- logger.info( name.getMethodName() );
- Usecase usecase = UsecaseBuilder.newUsecase( "Usecase:" + name );
- UnitOfWork uow = uowf.newUnitOfWork( usecase);
- populateTestData();
-
- ServiceReference<RouteSpecificationFactoryService> routeSpecFactoryServiceRef =
- serviceFinder.findService( RouteSpecificationFactoryService.class );
- routeSpecFactory = routeSpecFactoryServiceRef.get();
-
- // Separate test suites in console output
- System.out.println();
- }
-
- @After
- public void concludeTests()
- {
- UnitOfWork uow = uowf.currentUnitOfWork();
- if (uow != null)
- {
- uow.discard();
- }
- if( uowf.isUnitOfWorkActive() )
- {
- while( uowf.isUnitOfWorkActive() )
- {
- uow = uowf.currentUnitOfWork();
- if( uow.isOpen() )
- {
- System.err.println( "UnitOfWork not cleaned up:" + uow.usecase().name() );
- uow.discard();
- }
- else
- {
- throw new InternalError( "I have seen a case where a UoW is on the stack, but not opened. First is: " + uow.usecase().name() );
- }
- }
- new Exception( "UnitOfWork not properly cleaned up" ).printStackTrace();
- }
- }
-
- @AfterClass
- public static void terminateApplication() throws Exception
- {
- if( app != null )
- {
- app.passivate();
- }
- }
-
- public void assertMessage( Exception e, String msg )
- {
- String message = "\nEXPECTED: " + msg + "\nGOT: " + e.getMessage();
- assertTrue( message, e.getMessage().contains( msg ) );
- }
-
-
- private void populateTestData() throws Exception
- {
- // UnLocode value objects
- AUMEL = unlocode( "AUMEL" ); // Melbourne
- CNHGH = unlocode( "CNHGH" ); // Hangzou
- CNHKG = unlocode( "CNHKG" ); // Hong Kong
- CNSHA = unlocode( "CNSHA" ); // Shanghai
- DEHAM = unlocode( "DEHAM" ); // Hamburg
- FIHEL = unlocode( "FIHEL" ); // Helsinki
- JNTKO = unlocode( "JNTKO" ); // Tokyo
- NLRTM = unlocode( "NLRTM" ); // Rotterdam
- SEGOT = unlocode( "SEGOT" ); // Gothenburg
- SESTO = unlocode( "SESTO" ); // Stockholm
- SOMGQ = unlocode( "SOMGQ" ); // Mogadishu
- USCHI = unlocode( "USCHI" ); // Chicago
- USDAL = unlocode( "USDAL" ); // Dallas
- USNYC = unlocode( "USNYC" ); // New York
-
- UnitOfWork uow = uowf.currentUnitOfWork();
-
- // Get locations created in BaseDataService on startup
- MELBOURNE = uow.get( Location.class, "AUMEL" );
- HANGZHOU = uow.get( Location.class, "CNHGH" );
- HONGKONG = uow.get( Location.class, "CNHKG" );
- SHANGHAI = uow.get( Location.class, "CNSHA" );
- HAMBURG = uow.get( Location.class, "DEHAM" );
- HELSINKI = uow.get( Location.class, "FIHEL" );
- TOKYO = uow.get( Location.class, "JNTKO" );
- ROTTERDAM = uow.get( Location.class, "NLRTM" );
- GOTHENBURG = uow.get( Location.class, "SEGOT" );
- STOCKHOLM = uow.get( Location.class, "SESTO" );
- MOGADISHU = uow.get( Location.class, "SOMGQ" );
- CHICAGO = uow.get( Location.class, "USCHI" );
- DALLAS = uow.get( Location.class, "USDAL" );
- NEWYORK = uow.get( Location.class, "USNYC" );
-
- // Voyage entity objects for testing
- V201 = voyage( "V201", schedule(
- carrierMovement( HONGKONG, CHICAGO, DAY1, DAY5 ),
- carrierMovement( CHICAGO, NEWYORK, DAY5, DAY6 ),
- carrierMovement( NEWYORK, GOTHENBURG, DAY6, DAY12 )
- ) );
- V202 = voyage( "V202", schedule(
- carrierMovement( CHICAGO, NEWYORK, DAY3, DAY5 ),
- carrierMovement( NEWYORK, DALLAS, DAY7, DAY8 ),
- carrierMovement( DALLAS, ROTTERDAM, DAY10, DAY17 ),
- carrierMovement( ROTTERDAM, HAMBURG, DAY17, DAY19 ),
- carrierMovement( HAMBURG, GOTHENBURG, DAY20, DAY24 )
- ) );
- V203 = voyage( "V203", schedule(
- carrierMovement( NEWYORK, HAMBURG, DAY3, DAY12 ),
- carrierMovement( HAMBURG, ROTTERDAM, DAY13, DAY18 ),
- carrierMovement( ROTTERDAM, STOCKHOLM, DAY20, DAY23 ),
- carrierMovement( STOCKHOLM, HELSINKI, DAY24, DAY25 )
- ) );
- V204 = voyage( "V204", schedule(
- carrierMovement( TOKYO, HANGZHOU, DAY3, DAY6 ),
- carrierMovement( HANGZHOU, HONGKONG, DAY7, DAY8 ),
- carrierMovement( HONGKONG, NEWYORK, DAY9, DAY12 ),
- carrierMovement( NEWYORK, MELBOURNE, DAY13, DAY19 )
- ) );
- V205 = voyage( "V205", schedule(
- carrierMovement( HANGZHOU, MOGADISHU, DAY1, DAY2 ),
- carrierMovement( MOGADISHU, ROTTERDAM, DAY2, DAY4 ),
- carrierMovement( ROTTERDAM, NEWYORK, DAY4, DAY7 ),
- carrierMovement( NEWYORK, DALLAS, DAY9, DAY10 )
- ) );
-
- itinerary = itinerary(
- leg( V201, HONGKONG, CHICAGO, DAY1, DAY5 ),
- leg( V201, CHICAGO, NEWYORK, DAY5, DAY6 ),
- leg( V202, NEWYORK, DALLAS, DAY7, DAY8 ),
- leg( V202, DALLAS, ROTTERDAM, DAY10, DAY17 ),
- leg( V203, ROTTERDAM, STOCKHOLM, DAY20, DAY23 )
- );
-
- wrongItinerary = itinerary(
- leg( V201, HONGKONG, CHICAGO, DAY1, DAY5 ),
- leg( V201, CHICAGO, NEWYORK, DAY5, DAY6 ),
- leg( V204, NEWYORK, MELBOURNE, DAY13, DAY19 )
- );
- }
-
- public void assertDelivery( HandlingEventType handlingEventType,
- Location location,
- LocalDate completionDate,
- Voyage voyage,
-
- TransportStatus transportStatus,
- Boolean isUnloadedAtDestination,
-
- RoutingStatus routingStatus,
- Boolean isMisdirected,
- LocalDate eta,
- Integer itineraryProgress,
-
- HandlingEventType nextHandlingEventType,
- Location nextLocation,
- LocalDate nextTime,
- Voyage nextVoyage
- ) throws Exception
- {
- delivery = cargo.delivery().get();
-
- // Last handling event
- if (delivery.lastHandlingEvent().get() != null
- || handlingEventType != null || location != null || completionDate != null || voyage != null)
- {
- assertThat( "lastHandlingEvent - handlingEventType",
- delivery.lastHandlingEvent().get().handlingEventType().get(), is( equalTo( handlingEventType ) ) );
- assertThat( "lastHandlingEvent - location",
- delivery.lastHandlingEvent().get().location().get(), is( equalTo( location ) ) );
- assertThat( "lastHandlingEvent - completionDate",
- delivery.lastHandlingEvent().get().completionDate().get(), is( equalTo( completionDate ) ) );
- assertThat( "lastHandlingEvent - voyage",
- delivery.lastHandlingEvent().get().voyage().get(), is( equalTo( voyage ) ) );
- }
-
- // Other transport status
- assertThat( "transportStatus",
- delivery.transportStatus().get(), is( equalTo( transportStatus ) ) );
- assertThat( "isUnloadedAtDestination",
- delivery.isUnloadedAtDestination().get(), is( equalTo( isUnloadedAtDestination ) ) );
-
-
- // Routing and direction
- assertThat( "routingStatus",
- delivery.routingStatus().get(), is( equalTo( routingStatus ) ) );
- assertThat( "isMisdirected",
- delivery.isMisdirected().get(), is( equalTo( isMisdirected ) ) );
- assertThat( "eta",
- delivery.eta().get(), is( equalTo( eta ) ) );
- assertThat( "itineraryProgressIndex",
- delivery.itineraryProgressIndex().get(), is( equalTo( itineraryProgress ) ) );
-
-
- // Next handling event
- if (nextHandlingEventType == null)
- {
- assertThat( "nextHandlingEvent - handlingEventType",
- delivery.nextHandlingEvent().get(), is( equalTo( null ) ) );
- }
- else
- {
- assertThat( "nextHandlingEvent - handlingEventType",
- delivery.nextHandlingEvent().get().handlingEventType().get(), is( equalTo( nextHandlingEventType ) ) );
- assertThat( "nextHandlingEvent - location",
- delivery.nextHandlingEvent().get().location().get(), is( equalTo( nextLocation ) ) );
-
-
- if ( delivery.nextHandlingEvent().get().date().get() != null)
- {
- // Estimating a new carrier arrival time might be calculated a second
- // after initial dates are set, so we skip the seconds
- String calculatedTime = delivery.nextHandlingEvent().get().date().get().toString();
- String expectedTime = nextTime.toString();
- assertThat( "nextHandlingEvent - time", calculatedTime, is( equalTo( expectedTime ) ) );
- }
- else
- assertThat( "nextHandlingEvent - time", delivery.nextHandlingEvent().get().date().get(), is( equalTo( nextTime ) ) );
-
- assertThat( "nextHandlingEvent - voyage",
- delivery.nextHandlingEvent().get().voyage().get(), is( equalTo( nextVoyage ) ) );
- }
- }
-
-
- public void assertDelivery( HandlingEventType handlingEventType,
- Location location,
- LocalDate completionDate,
- Voyage voyage,
-
- TransportStatus transportStatus,
- Boolean isUnloadedAtDestination,
-
- RoutingStatus routingStatus,
- Boolean isMisdirected,
- LocalDate eta,
- Integer itineraryProgress,
-
- NextHandlingEvent noNextHandlingEvent
- ) throws Exception
- {
- assertDelivery( handlingEventType, location, completionDate, voyage,
- transportStatus, isUnloadedAtDestination, routingStatus, isMisdirected, eta,
- itineraryProgress, null, null, null, null );
- }
-
- public void assertRouteSpec( Location origin, Location destination, LocalDate earliestDeparture, LocalDate deadline )
- {
- newRouteSpec = cargo.routeSpecification().get();
-
- assertThat( newRouteSpec.origin().get(), is( equalTo( origin ) ) );
- assertThat( newRouteSpec.destination().get(), is( equalTo( destination ) ) );
- assertThat( newRouteSpec.earliestDeparture().get(), is( equalTo( earliestDeparture ) ) );
- assertThat( newRouteSpec.arrivalDeadline().get(), is( equalTo( deadline ) ) );
- }
-
- protected Voyage voyage( String voyageNumberStr, Schedule schedule )
- {
- UnitOfWork uow = uowf.currentUnitOfWork();
- EntityBuilder<Voyage> voyage = uow.newEntityBuilder( Voyage.class, voyageNumberStr );
-
- // VoyageNumber
- ValueBuilder<VoyageNumber> voyageNumber = vbf.newValueBuilder( VoyageNumber.class );
- voyageNumber.prototype().number().set( voyageNumberStr );
- voyage.instance().voyageNumber().set( voyageNumber.newInstance() );
-
- // Schedule
- voyage.instance().schedule().set( schedule );
- return voyage.newInstance();
- }
-
- private static Module findHostingModule()
- {
- return app.findModule( "BOOTSTRAP", "BOOTSTRAP-Bootstrap" );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/103c59cb/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestAssembler.java
----------------------------------------------------------------------
diff --git a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestAssembler.java b/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestAssembler.java
deleted file mode 100644
index bf33911..0000000
--- a/samples/dci-cargo/dcisample_b/src/test/java/org/apache/zest/sample/dcicargo/sample_b/bootstrap/test/TestAssembler.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- */
-package org.apache.zest.sample.dcicargo.sample_b.bootstrap.test;
-
-import java.util.function.Function;
-import org.apache.zest.api.structure.Application;
-import org.apache.zest.api.structure.Module;
-import org.apache.zest.api.value.ValueSerialization;
-import org.apache.zest.bootstrap.ApplicationAssembler;
-import org.apache.zest.bootstrap.ApplicationAssembly;
-import org.apache.zest.bootstrap.ApplicationAssemblyFactory;
-import org.apache.zest.bootstrap.AssemblyException;
-import org.apache.zest.bootstrap.LayerAssembly;
-import org.apache.zest.bootstrap.ModuleAssembly;
-import org.apache.zest.entitystore.memory.MemoryEntityStoreService;
-import org.apache.zest.index.rdf.RdfIndexingEngineService;
-import org.apache.zest.library.rdf.entity.EntityStateSerializer;
-import org.apache.zest.library.rdf.entity.EntityTypeSerializer;
-import org.apache.zest.library.rdf.repository.MemoryRepositoryService;
-import org.apache.zest.sample.dcicargo.pathfinder_b.api.GraphTraversalService;
-import org.apache.zest.sample.dcicargo.pathfinder_b.internal.GraphDAO;
-import org.apache.zest.sample.dcicargo.pathfinder_b.internal.GraphTraversalServiceImpl;
-import org.apache.zest.sample.dcicargo.sample_b.bootstrap.sampledata.BaseDataService;
-import org.apache.zest.sample.dcicargo.sample_b.context.interaction.handling.ProcessHandlingEvent;
-import org.apache.zest.sample.dcicargo.sample_b.context.interaction.handling.parsing.ParseHandlingEventData;
-import org.apache.zest.sample.dcicargo.sample_b.context.interaction.handling.parsing.dto.ParsedHandlingEventData;
-import org.apache.zest.sample.dcicargo.sample_b.context.rolemap.CargoRoleMap;
-import org.apache.zest.sample.dcicargo.sample_b.context.rolemap.CargosRoleMap;
-import org.apache.zest.sample.dcicargo.sample_b.context.rolemap.HandlingEventsRoleMap;
-import org.apache.zest.sample.dcicargo.sample_b.context.service.routing.RoutingService;
-import org.apache.zest.sample.dcicargo.sample_b.data.factory.RouteSpecificationFactoryService;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.cargo.RouteSpecification;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.Delivery;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.delivery.NextHandlingEvent;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.handling.HandlingEvent;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.itinerary.Itinerary;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.itinerary.Leg;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.location.Location;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.location.UnLocode;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.tracking.TrackingId;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.CarrierMovement;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.Schedule;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.Voyage;
-import org.apache.zest.sample.dcicargo.sample_b.data.structure.voyage.VoyageNumber;
-import org.apache.zest.spi.uuid.UuidIdentityGeneratorService;
-import org.apache.zest.valueserialization.orgjson.OrgJsonValueSerializationService;
-
-import static org.apache.zest.api.common.Visibility.application;
-import static org.apache.zest.api.structure.Application.Mode.test;
-
-/**
- * Test application assembler
- *
- * (Has no communication layer)
- */
-@SuppressWarnings( "unchecked" )
-public class TestAssembler
- implements ApplicationAssembler
-{
- public ApplicationAssembly assemble( ApplicationAssemblyFactory applicationFactory )
- throws AssemblyException
- {
- // Application assembly
- ApplicationAssembly assembly = applicationFactory.newApplicationAssembly();
- assembly.setName( "DCI Sample (version A) - TEST" );
- assembly.setVersion( "B.1.0" );
- assembly.setMode( test );
-
- // Layers
- LayerAssembly infrastructureLayer = assembly.layer( "INFRASTRUCTURE" );
- LayerAssembly dataLayer = assembly.layer( "DATA" );
- LayerAssembly contextLayer = assembly.layer( "CONTEXT" );
- LayerAssembly bootstrapLayer = assembly.layer( "BOOTSTRAP" );
-
- // Layer dependencies
- bootstrapLayer.uses(
- contextLayer,
- dataLayer,
- infrastructureLayer );
-
- contextLayer.uses(
- dataLayer,
- infrastructureLayer );
-
- dataLayer.uses(
- infrastructureLayer
- );
-
- // Assemble
- assembleDomainLayer( dataLayer );
- assembleContextLayer( contextLayer );
- assembleBootstrapLayer( bootstrapLayer );
- assembleInfrastructureLayer( infrastructureLayer );
-
- return assembly;
- }
-
- private void assembleBootstrapLayer( LayerAssembly bootstrapLayer )
- throws AssemblyException
- {
- ModuleAssembly bootstrapModule = bootstrapLayer.module( "BOOTSTRAP-Bootstrap" ).withDefaultUnitOfWorkFactory();
-
- // Load base data on startup
- bootstrapModule
- .services( BaseDataService.class )
- .visibleIn( application )
- .instantiateOnStartup();
- }
-
- private void assembleContextLayer( LayerAssembly contextLayer )
- throws AssemblyException
- {
- ModuleAssembly roleMapModule = contextLayer.module( "CONTEXT-RoleMap" ).withDefaultUnitOfWorkFactory();
-
- // Role-playing entities
- roleMapModule
- .entities(
- CargoRoleMap.class,
- CargosRoleMap.class,
- HandlingEventsRoleMap.class )
- .visibleIn( application );
-
- // Non-role-playing entities
- roleMapModule
- .entities(
- HandlingEvent.class,
- Location.class,
- Voyage.class )
- .visibleIn( application );
-
- ModuleAssembly interactionModule = contextLayer.module( "CONTEXT-Interaction" ).withDefaultUnitOfWorkFactory();
- interactionModule
- .transients(
- ProcessHandlingEvent.class )
- .visibleIn( application );
-
- ModuleAssembly contextServiceModule = contextLayer.module( "CONTEXT-Service" ).withDefaultUnitOfWorkFactory();
- contextServiceModule
- .services(
- ParseHandlingEventData.class,
- RoutingService.class,
- RouteSpecificationFactoryService.class )
- .visibleIn( application );
-
- contextServiceModule
- .values(
- ParsedHandlingEventData.class )
- .visibleIn( application );
- }
-
- private void assembleDomainLayer( LayerAssembly dataLayer )
- throws AssemblyException
- {
- // Non-role-playing values
- ModuleAssembly structureModule = dataLayer.module( "DATA-Structure" ).withDefaultUnitOfWorkFactory();
- structureModule
- .values(
- TrackingId.class,
- RouteSpecification.class,
- Delivery.class,
- NextHandlingEvent.class,
- UnLocode.class,
- Itinerary.class,
- Leg.class,
- CarrierMovement.class,
- Schedule.class,
- VoyageNumber.class )
- .visibleIn( application );
-// structureModule.entities( LocationEntity.class, VoyageEntity.class, HandlingEventEntity.class );
- }
-
- private void assembleInfrastructureLayer( LayerAssembly infrastructureLayer )
- throws AssemblyException
- {
- ModuleAssembly serializationModule = infrastructureLayer.module( "INFRASTRUCTURE-Serialization" ).withDefaultUnitOfWorkFactory();
- serializationModule
- .services( OrgJsonValueSerializationService.class )
- .taggedWith( ValueSerialization.Formats.JSON )
- .setMetaInfo( (Function<Application, Module>) application -> application.findModule( "CONTEXT", "CONTEXT-RoleMap" ) )
- .visibleIn( application );
-
- ModuleAssembly indexingModule = infrastructureLayer.module( "INFRASTRUCTURE-Indexing" ).withDefaultUnitOfWorkFactory();
- indexingModule
- .objects(
- EntityStateSerializer.class,
- EntityTypeSerializer.class );
-
- indexingModule
- .services(
- MemoryRepositoryService.class,
- RdfIndexingEngineService.class )
- .visibleIn( application )
- .instantiateOnStartup();
-
- ModuleAssembly entityStoreModule = infrastructureLayer.module( "INFRASTRUCTURE-EntityStore" ).withDefaultUnitOfWorkFactory();
- entityStoreModule
- .addServices(
- MemoryEntityStoreService.class,
- UuidIdentityGeneratorService.class )
- .visibleIn( application );
-
- ModuleAssembly externalServiceModule = infrastructureLayer.module( "INFRASTRUCTURE-ExternalService" ).withDefaultUnitOfWorkFactory();
- externalServiceModule
- .importedServices(
- GraphTraversalService.class )
- .setMetaInfo( new GraphTraversalServiceImpl( new GraphDAO() ) )
- .visibleIn( application );
- }
-}