improve handler and manager api

This commit is contained in:
Sebastian Sdorra
2010-11-05 18:19:43 +01:00
parent 137279c30a
commit fb20f3a26d
20 changed files with 326 additions and 191 deletions

View File

@@ -29,12 +29,13 @@
*
*/
package sonia.scm;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.user.User;
import sonia.scm.repository.RepositoryType;
//~--- JDK imports ------------------------------------------------------------
@@ -65,7 +66,7 @@ public class ScmState
* @param user
* @param repositoryTypes
*/
public ScmState(User user, RepositoryType[] repositoryTypes)
public ScmState(User user, Type[] repositoryTypes)
{
this.user = user;
this.repositoryTypes = repositoryTypes;
@@ -79,7 +80,7 @@ public class ScmState
*
* @return
*/
public RepositoryType[] getRepositoryTypes()
public Type[] getRepositoryTypes()
{
return repositoryTypes;
}
@@ -114,7 +115,7 @@ public class ScmState
*
* @param repositoryTypes
*/
public void setRepositoryTypes(RepositoryType[] repositoryTypes)
public void setRepositoryTypes(Type[] repositoryTypes)
{
this.repositoryTypes = repositoryTypes;
}
@@ -145,7 +146,7 @@ public class ScmState
/** Field description */
@XmlElement(name = "repositoryTypes")
private RepositoryType[] repositoryTypes;
private Type[] repositoryTypes;
/** Field description */
private boolean success = true;

View File

@@ -29,6 +29,8 @@
*
*/
package sonia.scm.api.rest.resources;
//~--- non-JDK imports --------------------------------------------------------
@@ -37,9 +39,9 @@ import com.google.inject.Inject;
import com.google.inject.Singleton;
import sonia.scm.ScmState;
import sonia.scm.user.User;
import sonia.scm.Type;
import sonia.scm.repository.RepositoryManager;
import sonia.scm.repository.RepositoryType;
import sonia.scm.user.User;
import sonia.scm.web.security.SecurityContext;
//~--- JDK imports ------------------------------------------------------------
@@ -162,8 +164,7 @@ public class AuthenticationResource
ScmState state = new ScmState();
state.setUser(user);
state.setRepositoryTypes(
repositoryManger.getTypes().toArray(new RepositoryType[0]));
state.setRepositoryTypes(repositoryManger.getTypes().toArray(new Type[0]));
return state;
}

View File

@@ -29,6 +29,8 @@
*
*/
package sonia.scm.cache;
//~--- non-JDK imports --------------------------------------------------------
@@ -37,13 +39,12 @@ import com.google.inject.Inject;
import sonia.scm.ConfigChangedListener;
import sonia.scm.SCMContextProvider;
import sonia.scm.Type;
import sonia.scm.Undecorated;
import sonia.scm.repository.AbstractRepositoryManagerDecorator;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryException;
import sonia.scm.repository.RepositoryHandler;
import sonia.scm.repository.RepositoryManager;
import sonia.scm.repository.RepositoryType;
import sonia.scm.util.AssertUtil;
import sonia.scm.util.Util;
@@ -88,19 +89,6 @@ public class CacheRepositoryManagerDecorator
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
* @param handler
*/
@Override
public void addHandler(RepositoryHandler handler)
{
super.addHandler(handler);
handler.addListener(this);
}
/**
* Method description
*
@@ -158,7 +146,7 @@ public class CacheRepositoryManagerDecorator
{
super.init(context);
for (RepositoryType type : getTypes())
for (Type type : getTypes())
{
getHandler(type.getName()).addListener(this);
}