remove scm-backend-jdbc and rename scm-backend-xml to scm-dao-xml

This commit is contained in:
Sebastian Sdorra
2012-03-16 18:56:25 +01:00
parent cb37aec93a
commit 82588cec5d
29 changed files with 6 additions and 1560 deletions

View File

@@ -68,8 +68,7 @@
<module>maven</module>
<module>scm-plugins</module>
<module>scm-samples</module>
<module>scm-backend-xml</module>
<module>scm-backend-jdbc</module>
<module>scm-dao-xml</module>
<module>scm-webapp</module>
<module>scm-server</module>
<module>scm-plugin-backend</module>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>sonia.scm</groupId>
<artifactId>scm</artifactId>
<version>1.14-SNAPSHOT</version>
</parent>
<groupId>sonia.scm</groupId>
<artifactId>scm-backend-jdbc</artifactId>
<version>1.14-SNAPSHOT</version>
<name>scm-backend-jdbc</name>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>sonia.scm</groupId>
<artifactId>scm-core</artifactId>
<version>1.14-SNAPSHOT</version>
</dependency>
<!-- test -->
<dependency>
<groupId>sonia.scm</groupId>
<artifactId>scm-test</artifactId>
<version>1.14-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.8.2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>catalina</artifactId>
<version>5.0.28</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -1,255 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.group.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton;
import sonia.scm.SCMContextProvider;
import sonia.scm.group.AbstractGroupManager;
import sonia.scm.group.Group;
import sonia.scm.group.GroupException;
import sonia.scm.search.SearchRequest;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.util.Collection;
import java.util.Comparator;
/**
*
* @author Sebastian Sdorra
*/
@Singleton
public class JDBCGroupManager extends AbstractGroupManager
{
/**
* Method description
*
*
* @throws IOException
*/
@Override
public void close() throws IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws GroupException
* @throws IOException
*/
@Override
public void create(Group object) throws GroupException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws GroupException
* @throws IOException
*/
@Override
public void delete(Group object) throws GroupException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param context
*/
@Override
public void init(SCMContextProvider context)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws GroupException
* @throws IOException
*/
@Override
public void modify(Group object) throws GroupException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws GroupException
* @throws IOException
*/
@Override
public void refresh(Group object) throws GroupException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param searchRequest
*
* @return
*/
@Override
public Collection<Group> search(SearchRequest searchRequest)
{
throw new UnsupportedOperationException("Not supported yet.");
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param id
*
* @return
*/
@Override
public Group get(String id)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Collection<Group> getAll()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
*
* @return
*/
@Override
public Collection<Group> getAll(Comparator<Group> comparator)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<Group> getAll(int start, int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<Group> getAll(Comparator<Group> comparator, int start,
int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param member
*
* @return
*/
@Override
public Collection<Group> getGroupsForMember(String member)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Long getLastModified()
{
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@@ -1,129 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Provider;
import com.google.inject.Singleton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.BackendException;
//~--- JDK imports ------------------------------------------------------------
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.sql.DataSource;
/**
* Provider for jdbc database connections. This provider uses jndi to get the
* {@link DataSource} from the application server.
*
* @author Sebastian Sdorra
*/
@Singleton
public class DataSourceConnectionProvider implements Provider<Connection>
{
/** jndi resource for the database connection */
public static final String JNDI_DATASOURCE =
"java:comp/env/jdbc/scm-mananger";
/**
* the logger for DataSourceConnectionProvider
*/
private static final Logger logger =
LoggerFactory.getLogger(DataSourceConnectionProvider.class);
//~--- constructors ---------------------------------------------------------
/**
* Constructs ...
*
*/
public DataSourceConnectionProvider()
{
try
{
InitialContext ic = new InitialContext();
dataSource = (DataSource) ic.lookup(JNDI_DATASOURCE);
}
catch (Exception ex)
{
throw new BackendException("could not fetch datasource", ex);
}
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @return
*/
@Override
public Connection get()
{
if (logger.isTraceEnabled())
{
logger.trace("return new database connection from datasource");
}
Connection connection = null;
try
{
connection = dataSource.getConnection();
}
catch (SQLException ex)
{
throw new BackendException(
"could not get database connection from datasource", ex);
}
return connection;
}
//~--- fields ---------------------------------------------------------------
/** Field description */
private DataSource dataSource;
}

View File

@@ -1,466 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.repository.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton;
import sonia.scm.SCMContextProvider;
import sonia.scm.Type;
import sonia.scm.repository.AbstractRepositoryManager;
import sonia.scm.repository.BlameViewer;
import sonia.scm.repository.ChangesetViewer;
import sonia.scm.repository.DiffViewer;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryBrowser;
import sonia.scm.repository.RepositoryException;
import sonia.scm.repository.RepositoryHandler;
import sonia.scm.repository.RepositoryHook;
import sonia.scm.repository.RepositoryHookEvent;
import sonia.scm.repository.RepositoryNotFoundException;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.util.Collection;
import java.util.Comparator;
import javax.servlet.http.HttpServletRequest;
/**
*
* @author Sebastian Sdorra
*/
@Singleton
public class JDBCRepositoryManager extends AbstractRepositoryManager
{
/**
* Method description
*
*
* @throws IOException
*/
@Override
public void close() throws IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws RepositoryException
*/
@Override
public void create(Repository object) throws RepositoryException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws RepositoryException
*/
@Override
public void delete(Repository object) throws RepositoryException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param type
* @param name
* @param event
*
* @throws RepositoryNotFoundException
*/
@Override
public void fireHookEvent(String type, String name, RepositoryHookEvent event)
throws RepositoryNotFoundException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param id
* @param event
*
* @throws RepositoryNotFoundException
*/
@Override
public void fireHookEvent(String id, RepositoryHookEvent event)
throws RepositoryNotFoundException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param repository
*
* @throws IOException
* @throws RepositoryException
*/
@Override
public void importRepository(Repository repository)
throws IOException, RepositoryException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param context
*/
@Override
public void init(SCMContextProvider context)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws RepositoryException
*/
@Override
public void modify(Repository object) throws RepositoryException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws RepositoryException
*/
@Override
public void refresh(Repository object) throws RepositoryException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param type
* @param name
*
* @return
*/
@Override
public Repository get(String type, String name)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param id
*
* @return
*/
@Override
public Repository get(String id)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Collection<Repository> getAll()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
*
* @return
*/
@Override
public Collection<Repository> getAll(Comparator<Repository> comparator)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<Repository> getAll(int start, int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<Repository> getAll(Comparator<Repository> comparator,
int start, int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param repository
*
* @return
*
* @throws RepositoryException
*/
@Override
public BlameViewer getBlameViewer(Repository repository)
throws RepositoryException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param repository
*
* @return
*
* @throws RepositoryException
*/
@Override
public ChangesetViewer getChangesetViewer(Repository repository)
throws RepositoryException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Collection<Type> getConfiguredTypes()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param repository
*
* @return
*
* @throws RepositoryException
*/
@Override
public DiffViewer getDiffViewer(Repository repository)
throws RepositoryException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param request
*
* @return
*/
@Override
public Repository getFromRequest(HttpServletRequest request)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param type
* @param uri
*
* @return
*/
@Override
public Repository getFromTypeAndUri(String type, String uri)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param uri
*
* @return
*/
@Override
public Repository getFromUri(String uri)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param type
*
* @return
*/
@Override
public RepositoryHandler getHandler(String type)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Long getLastModified()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param repository
*
* @return
*
* @throws RepositoryException
*/
@Override
public RepositoryBrowser getRepositoryBrowser(Repository repository)
throws RepositoryException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Collection<Type> getTypes()
{
throw new UnsupportedOperationException("Not supported yet.");
}
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
* @param hook
* @param event
*/
@Override
protected void fireHookEvent(RepositoryHook hook, RepositoryHookEvent event)
{
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@@ -1,94 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.store.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton;
import sonia.scm.SCMContextProvider;
import sonia.scm.store.Store;
import sonia.scm.store.StoreFactory;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
/**
*
* @author Sebastian Sdorra
*/
@Singleton
public class JDBCStoreFactory implements StoreFactory
{
/**
* Method description
*
*
* @throws IOException
*/
@Override
public void close() throws IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param context
*/
@Override
public void init(SCMContextProvider context)
{
throw new UnsupportedOperationException("Not supported yet.");
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param type
* @param name
* @param <T>
*
* @return
*/
@Override
public <T> Store<T> getStore(Class<T> type, String name)
{
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@@ -1,268 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.user.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton;
import sonia.scm.SCMContextProvider;
import sonia.scm.search.SearchRequest;
import sonia.scm.user.AbstractUserManager;
import sonia.scm.user.User;
import sonia.scm.user.UserException;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.util.Collection;
import java.util.Comparator;
/**
*
* @author Sebastian Sdorra
*/
@Singleton
public class JDBCUserManager extends AbstractUserManager
{
/**
* Method description
*
*
* @throws IOException
*/
@Override
public void close() throws IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param username
*
* @return
*/
@Override
public boolean contains(String username)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws UserException
*/
@Override
public void create(User object) throws UserException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws UserException
*/
@Override
public void delete(User object) throws UserException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param context
*/
@Override
public void init(SCMContextProvider context)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws UserException
*/
@Override
public void modify(User object) throws UserException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param object
*
* @throws IOException
* @throws UserException
*/
@Override
public void refresh(User object) throws UserException, IOException
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param searchRequest
*
* @return
*/
@Override
public Collection<User> search(SearchRequest searchRequest)
{
throw new UnsupportedOperationException("Not supported yet.");
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param id
*
* @return
*/
@Override
public User get(String id)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Collection<User> getAll()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
*
* @return
*/
@Override
public Collection<User> getAll(Comparator<User> comparator)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<User> getAll(int start, int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @param comparator
* @param start
* @param limit
*
* @return
*/
@Override
public Collection<User> getAll(Comparator<User> comparator, int start,
int limit)
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public String getDefaultType()
{
throw new UnsupportedOperationException("Not supported yet.");
}
/**
* Method description
*
*
* @return
*/
@Override
public Long getLastModified()
{
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--*
Copyright (c) 2010, Sebastian Sdorra
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of SCM-Manager; nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
http://bitbucket.org/sdorra/scm-manager
-->
<overrides>
<override>
<bind>sonia.scm.user.UserManager</bind>
<to>sonia.scm.user.jdbc.JDBCUserManager</to>
</override>
<override>
<bind>sonia.scm.group.GroupManager</bind>
<to>sonia.scm.group.jdbc.JDBCGroupManager</to>
</override>
<override>
<bind>sonia.scm.repository.RepositoryManager</bind>
<to>sonia.scm.repository.jdbc.JDBCRepositoryManager</to>
</override>
<override>
<bind>sonia.scm.store.StoreFactory</bind>
<to>sonia.scm.store.jdbc.JDBCStoreFactory</to>
</override>
</overrides>

View File

@@ -1,82 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import org.junit.Test;
import static org.junit.Assert.*;
//~--- JDK imports ------------------------------------------------------------
import java.sql.Connection;
import java.sql.SQLException;
/**
*
* @author Sebastian Sdorra
*/
public class DataSourceConnectionProviderTest
extends DataSourceConnectionTestBase
{
/**
* Method description
*
*/
@Test
public void testGet()
{
DataSourceConnectionProvider provider = new DataSourceConnectionProvider();
assertNotNull(provider.get());
}
/**
* Method description
*
*
* @throws SQLException
*/
@Test
public void testGetAndClose() throws SQLException
{
DataSourceConnectionProvider provider = new DataSourceConnectionProvider();
Connection connection = provider.get();
assertNotNull(connection);
connection.close();
connection = provider.get();
assertNotNull(connection);
}
}

View File

@@ -1,64 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import org.junit.BeforeClass;
//~--- JDK imports ------------------------------------------------------------
import javax.naming.Context;
/**
*
* @author Sebastian Sdorra
*/
public class DataSourceConnectionTestBase
{
/**
* Method description
*
*
* @throws Exception
*/
@BeforeClass
public static void setUpClass() throws Exception
{
System.setProperty("derby.stream.error.field", "java.lang.System.err");
// Create initial context
System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
TestIntialContextFactory.class.getName());
}
}

View File

@@ -1,84 +0,0 @@
/**
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
* nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.jdbc;
//~--- non-JDK imports --------------------------------------------------------
import org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource40;
import static org.mockito.Mockito.*;
//~--- JDK imports ------------------------------------------------------------
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.spi.InitialContextFactory;
/**
*
* @author Sebastian Sdorra
*/
public class TestIntialContextFactory implements InitialContextFactory
{
/**
* Method description
*
*
* @param environment
*
* @return
*
* @throws NamingException
*/
@Override
public Context getInitialContext(Hashtable<?, ?> environment)
throws NamingException
{
EmbeddedConnectionPoolDataSource40 ds =
new EmbeddedConnectionPoolDataSource40();
ds.setDatabaseName("memory:scm-manager;create=true");
Context context = mock(Context.class);
when(context.lookup(
DataSourceConnectionProvider.JNDI_DATASOURCE)).thenReturn(ds);
return context;
}
}

View File

@@ -11,7 +11,7 @@
</parent>
<groupId>sonia.scm</groupId>
<artifactId>scm-backend-xml</artifactId>
<artifactId>scm-dao-xml</artifactId>
<version>1.14-SNAPSHOT</version>
<name>scm-backend-xml</name>

View File

@@ -43,7 +43,7 @@
<dependency>
<groupId>sonia.scm</groupId>
<artifactId>scm-backend-xml</artifactId>
<artifactId>scm-dao-xml</artifactId>
<version>1.14-SNAPSHOT</version>
</dependency>
@@ -363,11 +363,13 @@
<dependencies>
<!--
<dependency>
<groupId>sonia.scm</groupId>
<artifactId>scm-backend-jdbc</artifactId>
<version>1.14-SNAPSHOT</version>
</dependency>
-->
</dependencies>
</profile>