View Javadoc

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.persistence.impl;
36  
37  import org.ogf.graap.wsag.server.api.IAgreementFactory;
38  import org.ogf.graap.wsag.server.persistence.PersistedResourceException;
39  import org.ogf.graap.wsag.server.persistence.PersistentAgreementFactory;
40  
41  /**
42   * SimpleWSAG4JPersistence loads the factory configurations defined in the WSAG4J engine configuration files
43   * and and instantiates a factory for each engine instance.
44   * 
45   * @author Oliver Waeldrich
46   * 
47   */
48  public class SimpleWSAG4JPersistence extends AbstractWSAG4JPersistence
49  {
50  
51      /*
52       * (non-Javadoc)
53       * 
54       * @see org.ogf.graap.wsag.server.persistence.impl.AbstractWSAG4JPersistence#doLoad()
55       */
56      @Override
57      protected PersistentAgreementFactory[] doLoad() throws PersistedResourceException
58      {
59          try
60          {
61              //
62              // load the implementation specified in the wsag4j.properties file here
63              // initialize it, and if feasible, set the configuration data
64              //
65              IAgreementFactory factory = getAgreementFactoryPrototype( wsag4jConfiguration );
66              factory.initialize();
67  
68              // build the factory
69              SimplePersistentAgreementFactory persistentFactory =
70                  new SimplePersistentAgreementFactory( factory );
71  
72              if ( wsag4jConfiguration.isSetResourceId() )
73              {
74                  persistentFactory.setResourceId( wsag4jConfiguration.getResourceId() );
75              }
76  
77              return new PersistentAgreementFactory[] { persistentFactory };
78          }
79          catch ( Exception e )
80          {
81              throw new PersistedResourceException( e );
82          }
83      }
84  
85      /**
86       * {@inheritDoc}
87       */
88      public void saveAgreementFactories( PersistentAgreementFactory[] factories )
89      {
90      }
91  
92      /**
93       * {@inheritDoc}
94       * 
95       * @see org.ogf.graap.wsag.server.persistence.impl.AbstractWSAG4JPersistence#doRemove(PersistentAgreementFactory)
96       */
97      @Override
98      protected boolean doRemove( PersistentAgreementFactory factory ) throws PersistedResourceException
99      {
100         throw new PersistedResourceException( "Operation not supported for simple WSAG4J persistence." );
101     }
102 }