1 package org.apache.archiva.metadata.repository;
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24 import org.springframework.beans.factory.config.AbstractFactoryBean;
25 import org.springframework.stereotype.Service;
27 import java.util.Properties;
30 * @author Olivier Lamy
33 //@Service("repositorySessionFactoryBean#default")
34 public class RepositorySessionFactoryBean
35 extends AbstractFactoryBean<RepositorySessionFactory>
38 private Logger logger = LoggerFactory.getLogger( getClass() );
40 private static final String BEAN_ID_SYS_PROPS = "archiva.repositorySessionFactory.id";
42 private Properties properties;
46 public RepositorySessionFactoryBean( Properties properties )
48 this.properties = properties;
49 // we can override with system props
50 String value = System.getProperty( BEAN_ID_SYS_PROPS );
53 this.properties.put( BEAN_ID_SYS_PROPS, value );
55 id = properties.getProperty( BEAN_ID_SYS_PROPS );
59 public Class<RepositorySessionFactory> getObjectType()
61 return RepositorySessionFactory.class;
65 protected RepositorySessionFactory createInstance()
68 RepositorySessionFactory repositorySessionFactory =
69 getBeanFactory().getBean( "repositorySessionFactory#" + id, RepositorySessionFactory.class );
70 logger.info( "create RepositorySessionFactory instance of {}", repositorySessionFactory.getClass().getName() );
71 return repositorySessionFactory;
79 public void setId( String id )
84 public Properties getProperties()
89 public void setProperties( Properties properties )
91 this.properties = properties;