01: /* */
02: /*
03: * <copyright>
04: *
05: * Copyright 1997-2004 BBNT Solutions, LLC
06: * under sponsorship of the Defense Advanced Research Projects
07: * Agency (DARPA).
08: *
09: * You can redistribute this software and/or modify it under the
10: * terms of the Cougaar Open Source License as published on the
11: * Cougaar Open Source Website (www.cougaar.org).
12: *
13: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
14: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
15: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
16: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
17: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
18: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24: *
25: * </copyright>
26: */
27:
28: package org.cougaar.glm.util;
29:
30: import org.cougaar.glm.ldm.Constants;
31: import org.cougaar.glm.ldm.plan.GeolocLocation;
32: import org.cougaar.lib.util.UTILVerify;
33: import org.cougaar.planning.ldm.measure.Latitude;
34: import org.cougaar.planning.ldm.measure.Longitude;
35: import org.cougaar.planning.ldm.plan.Task;
36: import org.cougaar.util.log.Logger;
37:
38: /**
39: * Helper classes to see if a task is consistent and
40: * reasonable.
41: */
42: public class GLMVerify extends UTILVerify {
43: public GLMVerify(Logger logger) {
44: super (logger);
45: glmPrepHelper = new GLMPrepPhrase(logger);
46: }
47:
48: public boolean hasFromPrep(Task t) {
49: boolean retval = glmPrepHelper.hasPrepNamed(t,
50: Constants.Preposition.FROM);
51: if (!retval)
52: return retval;
53:
54: return checkGeoloc(glmPrepHelper.getFromLocation(t));
55: }
56:
57: protected boolean checkGeoloc(GeolocLocation geoloc) {
58: Longitude startlong = geoloc.getLongitude();
59: Latitude startlat = geoloc.getLatitude();
60:
61: if (startlong == null)
62: return false;
63: if (startlat == null)
64: return false;
65: return true;
66: }
67:
68: public boolean hasToPrep(Task t) {
69: boolean retval = glmPrepHelper.hasPrepNamed(t,
70: Constants.Preposition.TO);
71: if (!retval)
72: return retval;
73:
74: return checkGeoloc(glmPrepHelper.getToLocation(t));
75: }
76:
77: protected GLMPrepPhrase glmPrepHelper;
78: }
|