Refactor to prepar for splitting model

This commit is contained in:
Stian Thorgersen committed 2014-06-27 09:39:06 +01:00
1 parent 6291936ce9
commit 34a1923d18
140 files changed
+1033 -934

No files matched your search

@@ -1,7 +1,7 @@
package org.keycloak.test.tools;
import org.jboss.resteasy.core.Dispatcher;
import org.keycloak.provider.ProviderSessionFactory;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.services.resources.KeycloakApplication;
import javax.servlet.ServletContext;
@@ -15,18 +15,18 @@ import java.util.Set;
*/
public class KeycloakTestApplication extends Application {
protected ProviderSessionFactory providerSessionFactory;
protected KeycloakSessionFactory sessionFactory;
protected Set<Class<?>> classes = new HashSet<Class<?>>();
protected Set<Object> singletons = new HashSet<Object>();
public KeycloakTestApplication(@Context ServletContext context, @Context Dispatcher dispatcher) {
KeycloakApplication.loadConfig();
this.providerSessionFactory = KeycloakApplication.createProviderSessionFactory();
this.sessionFactory = KeycloakApplication.createSessionFactory();
context.setAttribute(ProviderSessionFactory.class.getName(), this.providerSessionFactory);
context.setAttribute(KeycloakSessionFactory.class.getName(), this.sessionFactory);
singletons.add(new PerfTools(providerSessionFactory));
singletons.add(new PerfTools(sessionFactory));
}
@Override
@@ -3,11 +3,9 @@ package org.keycloak.test.tools;
import org.keycloak.exportimport.ExportImportConfig;
import org.keycloak.exportimport.ExportImportProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.provider.ProviderSession;
import org.keycloak.provider.ProviderSessionFactory;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.test.tools.jobs.CreateUsers;
import org.keycloak.util.ProviderLoader;
@@ -24,7 +22,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@@ -36,15 +33,15 @@ public class PerfTools {
private ExecutorService executor = Executors.newFixedThreadPool(20);
private final ProviderSessionFactory providerSessionFactory;
private final KeycloakSessionFactory sessionFactory;
@Context
private KeycloakSession session;
private List<Job> jobs = new LinkedList<Job>();
public PerfTools(ProviderSessionFactory providerSessionFactory) {
this.providerSessionFactory = providerSessionFactory;
public PerfTools(KeycloakSessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@GET
@@ -89,7 +86,7 @@ public class PerfTools {
for (int s = start; s < (start + count); s += batch) {
int c = s + batch <= (start + count) ? batch : (start + count) - s;
executor.submit(new CreateUsers(job, providerSessionFactory, realmName, s, c, prefix, rolesArray));
executor.submit(new CreateUsers(job, sessionFactory, realmName, s, c, prefix, rolesArray));
}
return Response.noContent().build();
@@ -115,7 +112,7 @@ public class PerfTools {
if (providers.hasNext()) {
ExportImportProvider exportImport = providers.next();
exportImport.checkExportImport(providerSessionFactory);
exportImport.checkExportImport(sessionFactory);
} else {
throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR);
}
@@ -1,12 +1,10 @@
package org.keycloak.test.tools.jobs;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.cache.CacheKeycloakSession;
import org.keycloak.provider.ProviderSession;
import org.keycloak.provider.ProviderSessionFactory;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.test.tools.PerfTools;
@@ -19,16 +17,16 @@ import java.io.StringWriter;
public class CreateUsers implements Runnable {
private PerfTools.Job job;
private final ProviderSessionFactory providerSessionFactory;
private final KeycloakSessionFactory sessionFactory;
private final String realmName;
private int start;
private int count;
private String prefix;
private String[] roles;
public CreateUsers(PerfTools.Job job, ProviderSessionFactory providerSessionFactory, String realmName, int start, int count, String prefix, String[] roles) {
public CreateUsers(PerfTools.Job job, KeycloakSessionFactory sessionFactory, String realmName, int start, int count, String prefix, String[] roles) {
this.job = job;
this.providerSessionFactory = providerSessionFactory;
this.sessionFactory = sessionFactory;
this.realmName = realmName;
this.start = start;
this.count = count;
@@ -40,10 +38,8 @@ public class CreateUsers implements Runnable {
public void run() {
job.start();
ProviderSession providerSession = providerSessionFactory.createSession();
KeycloakSession session = sessionFactory.create();
try {
KeycloakSession session = providerSession.getProvider(CacheKeycloakSession.class);
session.getTransaction().begin();
RealmModel realm = new RealmManager(session).getRealmByName(realmName);
@@ -74,7 +70,7 @@ public class CreateUsers implements Runnable {
t.printStackTrace(new PrintWriter(sw));
job.setError(sw.toString());
} finally {
providerSession.close();
session.close();
}
}
@@ -15,7 +15,7 @@
},
"modelCache": {
"provider": "${keycloak.model.cache.provider:none}"
"provider": "${keycloak.model.cache.provider:simple}"
},
"timer": {
@@ -31,7 +31,7 @@
}
},
"login-forms": {
"login": {
"provider": "freemarker"
},