01: /*
02: * <copyright>
03: *
04: * Copyright 2002-2004 BBNT Solutions, LLC
05: * under sponsorship of the Defense Advanced Research Projects
06: * Agency (DARPA).
07: *
08: * You can redistribute this software and/or modify it under the
09: * terms of the Cougaar Open Source License as published on the
10: * Cougaar Open Source Website (www.cougaar.org).
11: *
12: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
15: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
16: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: *
24: * </copyright>
25: */
26:
27: package org.cougaar.pizza.plugin;
28:
29: import org.cougaar.pizza.Constants;
30:
31: import org.cougaar.servicediscovery.plugin.SimpleMatchmakerPlugin;
32:
33: /**
34: * The Matchmaker is responsible for taking service discovery requests (MMQueryRequests)
35: * from the {@link SDClientPlugin}, and issuing asynchronous queries to the YP
36: * to find matching providers. When one (or more) is found, send the scored
37: * results back the SDClient on the MMQueryRequest.
38: *<p>
39: * This version extends the SimpleMatchmakerPlugin, specifying that the Role requested
40: * will be in the pizza constants {@link org.cougaar.pizza.Constants.UDDIConstants#COMMERCIAL_SERVICE_SCHEME}.
41: * As noted in the base class, it allows the YP
42: * to handle walking up YP communities as necessary. It does not handle quiescence,
43: * is not guaranteed to work with kills/restarts (persistence), only works
44: * with a distributed YP (using communities, not a single static instance), etc.
45: *
46: * @property org.cougaar.servicediscovery.plugin.SimpleMatchmakerQueryGracePeriod (in minutes, default is 2) specifies
47: * how long to wait before YP query errors should be logged at ERROR instead of DEBUG.
48: */
49: public class MatchmakerPlugin extends SimpleMatchmakerPlugin {
50: /**
51: * Return the UDDI Service Scheme that contains the Roles we will look for.
52: * In this case, that is the {@link org.cougaar.pizza.Constants.UDDIConstants#COMMERCIAL_SERVICE_SCHEME}.
53: * <p>
54: * This method is the only one we need to over-ride.
55: * @return UDDI Service Scheme to find Roles in
56: */
57: protected String getServiceSchemeForRoles() {
58: return Constants.UDDIConstants.COMMERCIAL_SERVICE_SCHEME;
59: }
60: }
|