001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)TransformationEngineComponent.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.engine.xslt;
030:
031: import java.util.logging.Logger;
032:
033: import javax.jbi.component.Component;
034: import javax.jbi.component.ComponentLifeCycle;
035: import javax.jbi.component.ServiceUnitManager;
036: import javax.jbi.servicedesc.ServiceEndpoint;
037:
038: import com.sun.jbi.engine.xslt.TransformationEngineContext;
039:
040: import org.w3c.dom.Document;
041: import org.w3c.dom.DocumentFragment;
042:
043: /**
044: * This class implements javax.jbi.component.Component interface.
045: *
046: *
047: * @author Sun Microsystems, Inc.
048: */
049: public class TransformationEngineComponent implements Component,
050: TEResources {
051: /**
052: * TransformationEngineLifeCyle object that implements
053: * javax.jbi.component.ComponentLifeCycle interface.
054: */
055: private TransformationEngineLifeCycle mLifeCycleObj;
056:
057: public TransformationEngineComponent() {
058: mLifeCycleObj = new TransformationEngineLifeCycle();
059: }
060:
061: // javax.jbi.component.Component methods
062:
063: /**
064: * Returns an object of TransformationEngineLifeCycle.
065: *
066: * @return ComponentLifeCycle Object implementing
067: * javax.jbi.component.ComponentLifeCycle interface.
068: */
069: public ComponentLifeCycle getLifeCycle() {
070: return mLifeCycleObj;
071: }
072:
073: /**
074: * Returns an object implementing javax.jbi.component.ServiceUnitManager
075: * interface.
076: *
077: * @return ServiceUnitManager Object implementing
078: * javax.jbi.component.ServiceUnitManager interface.
079: */
080: public ServiceUnitManager getServiceUnitManager() {
081: return mLifeCycleObj.getSUManager();
082: }
083:
084: /**
085: *
086: * @param ref ServiceEndpoint object
087: *
088: * @return Descriptor Object implementing javax.jbi.servicedesc.Descriptor
089: * interface.
090: */
091: public Document getServiceDescription(ServiceEndpoint ref) {
092: org.w3c.dom.Document desc = null;
093:
094: try {
095: desc = TransformationEngineContext.getInstance()
096: .getServiceDescription(ref);
097: } catch (Exception e) {
098: e.printStackTrace();
099: }
100: return desc;
101:
102: }
103:
104: /** This method is called by JBI to check if this component, in the role of
105: * provider of the service indicated by the given exchange, can actually
106: * perform the operation desired. The consumer is described by the given
107: * capabilities, and JBI has already ensured that a fit exists between the
108: * set of required capabilities of the provider and the available
109: * capabilities of the consumer, and vice versa. This matching consists of
110: * simple set matching based on capability names only. <br><br>
111: * Note that JBI assures matches on capability names only; it is the
112: * responsibility of this method to examine capability values to ensure a
113: * match with the consumer.
114: * @param endpoint the endpoint to be used by the consumer
115: * @param exchange the proposed message exchange to be performed
116: * @param consumerCapabilities the consumer�s capabilities and requirements
117: * @return true if this provider component can perform the the given
118: * exchange with the described consumer
119: */
120: public boolean isExchangeWithConsumerOkay(
121: javax.jbi.servicedesc.ServiceEndpoint endpoint,
122: javax.jbi.messaging.MessageExchange exchange) {
123: return true;
124: }
125:
126: /** This method is called by JBI to check if this component, in the role of
127: * consumer of the service indicated by the given exchange, can actually
128: * interact with the the provider completely. Ths provider is described
129: * by the given capabilities, and JBI has already ensure that a fit exists
130: * between the set of required capabilities of the consumer and the
131: * available capabilities of the provider, and vice versa. This matching
132: * consists of simple set matching based on capability names only. <br><br>
133: * Note that JBI assures matches on capability names only; it is the
134: * responsibility of this method to examine capability values to ensure a
135: * match with the provider.
136: * @param exchange the proposed message exchange to be performed
137: * @param providerCapabilities the provider�s capabilities and requirements
138: * @return true if this consurer component can interact with the described
139: * provider to perform the given exchange
140: */
141: public boolean isExchangeWithProviderOkay(
142: javax.jbi.servicedesc.ServiceEndpoint endpoint,
143: javax.jbi.messaging.MessageExchange exchange) {
144: return true;
145: }
146:
147: /**
148: * Resolve the given endpoint reference, given the capabilities of the
149: * given consumer. This is called by JBI when it is attempting to resolve
150: * the given endpoint reference on behalf of a component.
151: * @param epr the endpoint reference, in some XML dialect understood by the
152: * appropriate component (usually a Binding Component).
153: * @return the service endpoint for the endpoint reference;
154: * <code>null</code> if the endpoint reference cannot be resolved.
155: */
156: public ServiceEndpoint resolveEndpointReference(DocumentFragment epr) {
157: return null;
158: }
159: }
|