use of org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl in project che-server by eclipse-che.
the class JpaTckModule method configure.
@Override
protected void configure() {
H2DBTestServer server = H2DBTestServer.startDefault();
install(new PersistTestModuleBuilder().setDriver(Driver.class).runningOn(server).addEntityClasses(AccountImpl.class, UserImpl.class, WorkspaceImpl.class, WorkspaceConfigImpl.class, ProjectConfigImpl.class, EnvironmentImpl.class, WorkerImpl.class, MachineConfigImpl.class, SourceStorageImpl.class, ServerConfigImpl.class, CommandImpl.class, RecipeImpl.class, VolumeImpl.class, // devfile
ActionImpl.class, org.eclipse.che.api.workspace.server.model.impl.devfile.CommandImpl.class, ComponentImpl.class, DevfileImpl.class, EndpointImpl.class, EntrypointImpl.class, EnvImpl.class, ProjectImpl.class, SourceImpl.class, org.eclipse.che.api.workspace.server.model.impl.devfile.VolumeImpl.class).addEntityClass("org.eclipse.che.api.workspace.server.model.impl.ProjectConfigImpl$Attribute").addClass(SerializableConverter.class).setExceptionHandler(H2ExceptionHandler.class).build());
bind(new TypeLiteral<AbstractPermissionsDomain<WorkerImpl>>() {
}).to(WorkerDaoTest.TestDomain.class);
bind(WorkerDao.class).to(JpaWorkerDao.class);
bind(new TypeLiteral<TckRepository<WorkerImpl>>() {
}).toInstance(new JpaTckRepository<>(WorkerImpl.class));
bind(new TypeLiteral<TckRepository<UserImpl>>() {
}).toInstance(new JpaTckRepository<>(UserImpl.class));
bind(new TypeLiteral<TckRepository<AccountImpl>>() {
}).toInstance(new JpaTckRepository<>(AccountImpl.class));
bind(new TypeLiteral<TckRepository<WorkspaceImpl>>() {
}).toInstance(new JpaTckRepository<>(WorkspaceImpl.class));
bind(SchemaInitializer.class).toInstance(new FlywaySchemaInitializer(server.getDataSource(), "che-schema"));
bind(DBInitializer.class).asEagerSingleton();
bind(TckResourcesCleaner.class).toInstance(new H2JpaCleaner(server));
}
use of org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl in project che-server by eclipse-che.
the class JpaWorkerDao method get.
@Override
public WorkerImpl get(String userId, String instanceId) throws ServerException, NotFoundException {
requireNonNull(instanceId, "Workspace identifier required");
requireNonNull(userId, "User identifier required");
try {
return new WorkerImpl(getEntity(wildcardToNull(userId), instanceId));
} catch (RuntimeException x) {
throw new ServerException(x.getLocalizedMessage(), x);
}
}
use of org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl in project che-server by eclipse-che.
the class JpaWorkerDao method getByInstance.
@Override
@Transactional
public Page<WorkerImpl> getByInstance(String instanceId, int maxItems, long skipCount) throws ServerException {
requireNonNull(instanceId, "Workspace identifier required");
checkArgument(skipCount <= Integer.MAX_VALUE, "The number of items to skip can't be greater than " + Integer.MAX_VALUE);
try {
final EntityManager entityManager = managerProvider.get();
final List<WorkerImpl> workers = entityManager.createNamedQuery("Worker.getByWorkspaceId", WorkerImpl.class).setParameter("workspaceId", instanceId).setMaxResults(maxItems).setFirstResult((int) skipCount).getResultList().stream().map(WorkerImpl::new).collect(toList());
final Long workersCount = entityManager.createNamedQuery("Worker.getCountByWorkspaceId", Long.class).setParameter("workspaceId", instanceId).getSingleResult();
return new Page<>(workers, skipCount, maxItems, workersCount);
} catch (RuntimeException e) {
throw new ServerException(e.getLocalizedMessage(), e);
}
}
use of org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl in project che-server by eclipse-che.
the class WorkerDaoTest method shouldStoreWorker.
/* WorkerDao.store() tests */
@Test
public void shouldStoreWorker() throws Exception {
WorkerImpl worker = new WorkerImpl("ws0", "user0", Arrays.asList("read", "use", "run"));
workerDao.store(worker);
Assert.assertEquals(workerDao.getWorker("ws0", "user0"), new WorkerImpl(worker));
}
use of org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl in project che-server by eclipse-che.
the class WorkerDaoTest method shouldReplaceExistingWorkerOnStoring.
@Test
public void shouldReplaceExistingWorkerOnStoring() throws Exception {
WorkerImpl replace = new WorkerImpl("ws1", "user1", Collections.singletonList("read"));
workerDao.store(replace);
Assert.assertEquals(workerDao.getWorker("ws1", "user1"), replace);
}
Aggregations