1 /*
2 * Copyright (c) 2007, Fraunhofer-Gesellschaft
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * (1) Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the disclaimer at the end.
11 * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * (2) Neither the name of Fraunhofer nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * DISCLAIMER
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
35 package org.ogf.graap.wsag.server.api.impl;
36
37 import java.util.Map;
38
39 import org.apache.xmlbeans.XmlObject;
40 import org.ogf.graap.wsag.api.Agreement;
41 import org.ogf.graap.wsag.api.AgreementFactory;
42 import org.ogf.graap.wsag.api.AgreementOffer;
43 import org.ogf.graap.wsag.api.Negotiation;
44 import org.ogf.graap.wsag.api.PendingAgreementListener;
45 import org.ogf.graap.wsag.api.exceptions.AgreementFactoryException;
46 import org.ogf.graap.wsag.api.exceptions.NegotiationFactoryException;
47 import org.ogf.schemas.graap.wsAgreement.AgreementTemplateType;
48 import org.ogf.schemas.graap.wsAgreement.negotiation.NegotiationContextType;
49
50 /**
51 * The agreement factory facade is an implementation of a
52 * {@link org.ogf.graap.wsag.server.api.IAgreementFactory}. Calls are delegated to an {@link AgreementFactory}
53 * implementation. This class is used for backward compatibility.
54 *
55 * @author Oliver Waeldrich
56 */
57 public class AgreementFactoryFacade extends AbstractAgreementFactory
58 {
59
60 private final AgreementFactory factory;
61
62 /**
63 *
64 * @param factory
65 * the factory implementation
66 */
67 public AgreementFactoryFacade( AgreementFactory factory )
68 {
69 super();
70 this.factory = factory;
71 }
72
73 /**
74 *
75 * @return The agreement factory object of this facade.
76 */
77 public AgreementFactory getAgreementFactory()
78 {
79 return factory;
80 }
81
82 /**
83 * {@inheritDoc}
84 */
85 @Override
86 public Agreement createAgreement( AgreementOffer offer, Map<String, Object> context )
87 throws AgreementFactoryException
88 {
89 return factory.createAgreement( offer, context );
90 }
91
92 /**
93 * {@inheritDoc}
94 */
95 @Override
96 public Agreement createPendingAgreement( AgreementOffer offer, PendingAgreementListener listener,
97 Map<String, Object> context ) throws AgreementFactoryException
98 {
99 return factory.createPendingAgreement( offer, listener, context );
100 }
101
102 /**
103 * {@inheritDoc}
104 */
105 @Override
106 public AgreementTemplateType[] getTemplates()
107 {
108 return factory.getTemplates();
109 }
110
111 /**
112 * {@inheritDoc}
113 */
114 @Override
115 public Negotiation
116 initiateNegotiation( NegotiationContextType context, XmlObject[] criticalExtensions,
117 XmlObject[] nonCriticalExtensions, Map<String, Object> environment )
118 throws NegotiationFactoryException
119 {
120 return factory.initiateNegotiation( context, criticalExtensions, nonCriticalExtensions, environment );
121 }
122
123 /*
124 * (non-Javadoc)
125 *
126 * @see org.ogf.graap.wsag.server.api.EngineComponent#doInitialize()
127 */
128 @Override
129 protected void doInitialize() throws Exception
130 {
131 // nothing to do here
132 }
133 }