View Javadoc

1   package org.apache.continuum.dao;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.continuum.model.system.SystemConfiguration;
23  import org.apache.maven.continuum.store.ContinuumStoreException;
24  import org.springframework.stereotype.Repository;
25  
26  import java.util.List;
27  
28  /**
29   * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
30   * @version $Id: SystemConfigurationDaoImpl.java 1372260 2012-08-13 04:29:09Z brett $
31   * @plexus.component role="org.apache.continuum.dao.SystemConfigurationDao"
32   */
33  @Repository( "systemConfigurationDao" )
34  public class SystemConfigurationDaoImpl
35      extends AbstractDao
36      implements SystemConfigurationDao
37  {
38      public SystemConfiguration addSystemConfiguration( SystemConfiguration systemConf )
39      {
40          return (SystemConfiguration) addObject( systemConf );
41      }
42  
43      public void updateSystemConfiguration( SystemConfiguration systemConf )
44          throws ContinuumStoreException
45      {
46          updateObject( systemConf );
47      }
48  
49      public SystemConfiguration getSystemConfiguration()
50          throws ContinuumStoreException
51      {
52          List systemConfs = getAllObjectsDetached( SystemConfiguration.class );
53  
54          if ( systemConfs == null || systemConfs.isEmpty() )
55          {
56              return null;
57          }
58          else if ( systemConfs.size() > 1 )
59          {
60              throw new ContinuumStoreException(
61                  "Database is corrupted. There are more than one systemConfiguration object." );
62          }
63          else
64          {
65              return (SystemConfiguration) systemConfs.get( 0 );
66          }
67      }
68  }