Move permissions and authorization into separate module;

6.19.x
Max Shaposhnik 2017-09-14 17:03:43 +03:00
parent 831fc636a4
commit d2bfa4f7f4
233 changed files with 3307 additions and 1367 deletions

View File

@ -42,12 +42,12 @@
<type>war</type>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-machine-authentication-ide</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-ide</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-ide</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-machine-authentication-ide</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -45,12 +45,12 @@
<artifactId>che-core-commons-inject</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-machine-authentication-agent</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-server</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-machine-authentication-agent</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>

View File

@ -13,7 +13,7 @@ package org.eclipse.che.wsagent.server;
import com.google.inject.servlet.ServletModule;
import org.eclipse.che.api.core.cors.CheCorsFilter;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.machine.authentication.agent.MachineLoginFilter;
import org.eclipse.che.multiuser.machine.authentication.agent.MachineLoginFilter;
import org.everrest.guice.servlet.GuiceEverrestServlet;
@DynaModule

View File

@ -32,14 +32,6 @@
<artifactId>assembly-wsmaster-war</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-account-permission</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-authorization-impl</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-factory</artifactId>
@ -48,10 +40,6 @@
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-system</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-user-permission</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-workspace</artifactId>
@ -65,8 +53,40 @@
<artifactId>che-core-db-vendor-postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-machine-authentication</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-authorization-impl</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-token-provider</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-machine-authentication</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-permission-account</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-permission-factory</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-permission-system</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-permission-user</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-permission-workspace</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
@ -76,14 +96,6 @@
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-docker-machine-auth</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-token-provider</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>

View File

@ -11,14 +11,14 @@
package org.eclipse.che.api.deploy;
import com.google.inject.AbstractModule;
import org.eclipse.che.api.permission.server.PermissionChecker;
import org.eclipse.che.api.permission.server.PermissionCheckerImpl;
import org.eclipse.che.api.user.server.jpa.JpaPreferenceDao;
import org.eclipse.che.api.user.server.jpa.JpaUserDao;
import org.eclipse.che.api.user.server.spi.PreferenceDao;
import org.eclipse.che.api.user.server.spi.UserDao;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.keycloak.server.deploy.KeycloakModule;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
import org.eclipse.che.multiuser.api.permission.server.PermissionCheckerImpl;
import org.eclipse.che.multiuser.keycloak.server.deploy.KeycloakModule;
import org.eclipse.che.security.PBKDF2PasswordEncryptor;
import org.eclipse.che.security.PasswordEncryptor;

View File

@ -12,7 +12,7 @@ package org.eclipse.che.api.deploy;
import com.google.inject.servlet.ServletModule;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.keycloak.server.deploy.KeycloakServletModule;
import org.eclipse.che.multiuser.keycloak.server.deploy.KeycloakServletModule;
/** @author Max Shaposhnik (mshaposhnik@codenvy.com) */
@DynaModule

View File

@ -16,8 +16,14 @@ import org.eclipse.che.api.workspace.server.WorkspaceServiceLinksInjector;
import org.eclipse.che.commons.auth.token.HeaderRequestTokenExtractor;
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.machine.authentication.server.MachineAuthLinksInjector;
import org.eclipse.che.machine.authentication.server.interceptor.InterceptorModule;
import org.eclipse.che.multiuser.machine.authentication.server.AuthWsAgentHealthChecker;
import org.eclipse.che.multiuser.machine.authentication.server.MachineAuthLinksInjector;
import org.eclipse.che.multiuser.machine.authentication.server.MachineSessionInvalidator;
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenPermissionsFilter;
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenRegistry;
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenService;
import org.eclipse.che.multiuser.machine.authentication.server.WorkspaceServiceAuthLinksInjector;
import org.eclipse.che.multiuser.machine.authentication.server.interceptor.InterceptorModule;
/**
* Machine authentification bindings.
@ -31,14 +37,13 @@ public class MachineAuthModule extends AbstractModule {
install(new InterceptorModule());
bind(MachineLinksInjector.class).to(MachineAuthLinksInjector.class);
bind(org.eclipse.che.api.agent.server.WsAgentHealthChecker.class)
.to(org.eclipse.che.machine.authentication.server.AuthWsAgentHealthChecker.class);
bind(org.eclipse.che.machine.authentication.server.MachineTokenPermissionsFilter.class);
bind(org.eclipse.che.machine.authentication.server.MachineTokenService.class);
bind(org.eclipse.che.machine.authentication.server.MachineTokenRegistry.class);
bind(org.eclipse.che.machine.authentication.server.MachineSessionInvalidator.class);
.to(AuthWsAgentHealthChecker.class);
bind(MachineTokenPermissionsFilter.class);
bind(MachineTokenService.class);
bind(MachineTokenRegistry.class);
bind(MachineSessionInvalidator.class);
bind(RequestTokenExtractor.class).to(HeaderRequestTokenExtractor.class);
bind(WorkspaceServiceLinksInjector.class)
.to(org.eclipse.che.machine.authentication.server.WorkspaceServiceAuthLinksInjector.class);
bind(WorkspaceServiceLinksInjector.class).to(WorkspaceServiceAuthLinksInjector.class);
bind(org.eclipse.che.api.environment.server.MachineInstanceProvider.class)
.to(org.eclipse.che.plugin.docker.machine.AuthMachineProviderImpl.class);
}

View File

@ -12,7 +12,7 @@ package org.eclipse.che.api.deploy;
import com.google.inject.servlet.ServletModule;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.machine.authentication.server.MachineLoginFilter;
import org.eclipse.che.multiuser.machine.authentication.server.MachineLoginFilter;
/**
* Machine authentification bindings.

View File

@ -13,8 +13,9 @@ package org.eclipse.che.api.deploy;
import com.google.inject.AbstractModule;
import com.google.inject.multibindings.Multibinder;
import javax.sql.DataSource;
import org.eclipse.che.api.permission.server.account.AccountPermissionsChecker;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.multiuser.api.permission.server.account.AccountPermissionsChecker;
import org.eclipse.che.multiuser.permission.account.PersonalAccountPermissionsChecker;
@DynaModule
public class MultiUserCheWsMasterModule extends AbstractModule {
@ -22,16 +23,23 @@ public class MultiUserCheWsMasterModule extends AbstractModule {
@Override
protected void configure() {
bind(DataSource.class).toProvider(org.eclipse.che.core.db.JndiDataSourceProvider.class);
bind(org.eclipse.che.api.system.server.SystemServicePermissionsFilter.class);
install(new org.eclipse.che.api.permission.server.jpa.SystemPermissionsJpaModule());
install(new org.eclipse.che.api.permission.server.PermissionsModule());
install(new org.eclipse.che.api.workspace.server.WorkspaceApiPermissionsModule());
bind(org.eclipse.che.api.user.server.permissions.UserProfileServicePermissionsFilter.class);
bind(org.eclipse.che.api.user.server.permissions.UserServicePermissionsFilter.class);
bind(org.eclipse.che.api.factory.server.permissions.FactoryPermissionsFilter.class);
install(new org.eclipse.che.multiuser.api.permission.server.jpa.SystemPermissionsJpaModule());
install(new org.eclipse.che.multiuser.api.permission.server.PermissionsModule());
install(
new org.eclipse.che.multiuser.permission.workspace.server.WorkspaceApiPermissionsModule());
install(
new org.eclipse.che.multiuser.permission.workspace.server.jpa
.MultiuserWorkspaceJpaModule());
//Permission filters
bind(org.eclipse.che.multiuser.permission.system.SystemServicePermissionsFilter.class);
bind(org.eclipse.che.multiuser.permission.user.UserProfileServicePermissionsFilter.class);
bind(org.eclipse.che.multiuser.permission.user.UserServicePermissionsFilter.class);
bind(org.eclipse.che.multiuser.permission.factory.FactoryPermissionsFilter.class);
bind(org.eclipse.che.plugin.activity.ActivityPermissionsFilter.class);
Multibinder.newSetBinder(binder(), AccountPermissionsChecker.class)
.addBinding()
.to(org.eclipse.che.account.permission.PersonalAccountPermissionsChecker.class);
.to(PersonalAccountPermissionsChecker.class);
}
}

View File

@ -54,11 +54,11 @@
<class>org.eclipse.che.api.ssh.server.model.impl.SshPairImpl</class>
<class>org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl</class>
<class>org.eclipse.che.api.permission.server.model.impl.AbstractPermissions</class>
<class>org.eclipse.che.api.workspace.server.model.impl.WorkerImpl</class>
<class>org.eclipse.che.api.workspace.server.stack.StackPermissionsImpl</class>
<class>org.eclipse.che.api.machine.server.recipe.RecipePermissionsImpl</class>
<class>org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl</class>
<class>org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions</class>
<class>org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl</class>
<class>org.eclipse.che.multiuser.permission.workspace.server.stack.StackPermissionsImpl</class>
<class>org.eclipse.che.multiuser.permission.machine.recipe.RecipePermissionsImpl</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>

View File

@ -33,8 +33,12 @@ public class CheWsMasterModule extends AbstractModule {
bind(org.eclipse.che.api.environment.server.MachineInstanceProvider.class)
.to(org.eclipse.che.plugin.docker.machine.MachineProviderImpl.class);
bind(org.eclipse.che.api.workspace.server.stack.StackLoader.class);
bind(DataSource.class).toProvider(org.eclipse.che.core.db.h2.H2DataSourceProvider.class);
install(new org.eclipse.che.api.user.server.jpa.UserJpaModule());
install(new org.eclipse.che.api.workspace.server.jpa.WorkspaceJpaModule());
bind(org.eclipse.che.api.user.server.CheUserCreator.class);
}
}

View File

@ -37,7 +37,9 @@ import org.eclipse.che.api.factory.server.FactoryAcceptValidator;
import org.eclipse.che.api.factory.server.FactoryCreateValidator;
import org.eclipse.che.api.factory.server.FactoryEditValidator;
import org.eclipse.che.api.factory.server.FactoryParametersResolver;
import org.eclipse.che.api.machine.server.jpa.MachineJpaModule;
import org.eclipse.che.api.machine.server.recipe.RecipeLoader;
import org.eclipse.che.api.machine.server.recipe.RecipeService;
import org.eclipse.che.api.machine.shared.Constants;
import org.eclipse.che.api.workspace.server.WorkspaceConfigMessageBodyAdapter;
import org.eclipse.che.api.workspace.server.WorkspaceMessageBodyAdapter;
@ -57,8 +59,7 @@ public class WsMasterModule extends AbstractModule {
install(new com.google.inject.persist.jpa.JpaPersistModule("main"));
install(new org.eclipse.che.account.api.AccountModule());
install(new org.eclipse.che.api.ssh.server.jpa.SshJpaModule());
install(new org.eclipse.che.api.machine.server.jpa.MachineJpaModule());
install(new org.eclipse.che.api.workspace.server.jpa.WorkspaceJpaModule());
install(new MachineJpaModule());
install(new org.eclipse.che.api.core.jsonrpc.impl.JsonRpcModule());
install(new org.eclipse.che.api.core.websocket.impl.WebSocketModule());
@ -91,12 +92,11 @@ public class WsMasterModule extends AbstractModule {
bind(org.eclipse.che.api.project.server.template.ProjectTemplateRegistry.class);
bind(org.eclipse.che.api.project.server.template.ProjectTemplateService.class);
bind(org.eclipse.che.api.ssh.server.SshService.class);
bind(org.eclipse.che.api.machine.server.recipe.RecipeService.class);
bind(RecipeService.class);
bind(org.eclipse.che.api.user.server.UserService.class);
bind(org.eclipse.che.api.user.server.ProfileService.class);
bind(org.eclipse.che.api.user.server.PreferencesService.class);
bind(org.eclipse.che.api.workspace.server.stack.StackLoader.class);
MapBinder<String, String> stacks =
MapBinder.newMapBinder(
binder(), String.class, String.class, Names.named(StackLoader.CHE_PREDEFINED_STACKS));
@ -133,7 +133,7 @@ public class WsMasterModule extends AbstractModule {
new org.eclipse.che.api.machine.server.model.impl.ServerConfImpl(
Constants.WSAGENT_DEBUG_REFERENCE, "4403/tcp", "http", null));
bind(org.eclipse.che.api.machine.server.recipe.RecipeLoader.class);
bind(RecipeLoader.class);
Multibinder.newSetBinder(
binder(), String.class, Names.named(RecipeLoader.CHE_PREDEFINED_RECIPES))
.addBinding()

View File

@ -221,8 +221,8 @@
<target unless="skipTests">
<!-- Run unit tests -->
<exec dir="${basedir}" executable="npm" failonerror="true">
<arg value="run" />
<arg value="test" />
<arg value="run" />
<arg value="test" />
</exec>
</target>
</configuration>

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-master-parent</artifactId>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-multiuser-api</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-core-api-authorization-impl</artifactId>
<artifactId>che-multiuser-api-authorization-impl</artifactId>
<packaging>jar</packaging>
<name>Che Core :: API :: Authorization Impl</name>
<name>Che Multiuser :: API :: Authorization Impl</name>
<dependencies>
<dependency>
<groupId>javax.inject</groupId>
@ -30,10 +30,6 @@
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-authorization</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-core</artifactId>
@ -43,12 +39,16 @@
<artifactId>che-core-api-dto</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-authorization</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import javax.inject.Inject;
import org.eclipse.che.api.core.ConflictException;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static java.util.Arrays.asList;
import static org.mockito.Matchers.anyObject;
@ -25,8 +25,8 @@ import javax.ws.rs.core.UriBuilder;
import org.eclipse.che.api.core.rest.HttpJsonRequest;
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
import org.eclipse.che.api.core.rest.HttpJsonResponse;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.mockito.Mock;
import org.mockito.stubbing.Answer;
import org.mockito.testng.MockitoTestNGListener;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-master-parent</artifactId>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-multiuser-api</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-core-api-authorization</artifactId>
<artifactId>che-multiuser-api-authorization</artifactId>
<packaging>jar</packaging>
<name>Che Core :: API :: Authorization</name>
<name>Che Multiuser :: API :: Authorization</name>
<properties>
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
</properties>
@ -54,12 +54,12 @@
<artifactId>che-core-api-dto</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@ -113,8 +113,8 @@
</executions>
<dependencies>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
@ -123,7 +123,7 @@
<package>org.eclipse.che.api.permission.shared.dto</package>
</dtoPackages>
<outputDirectory>${dto-generator-out-directory}</outputDirectory>
<genClassName>org.eclipse.che.api.permission.server.dto.DtoServerImpls</genClassName>
<genClassName>org.eclipse.che.multiuser.api.permission.server.dto.DtoServerImpls</genClassName>
<impl>server</impl>
</configuration>
</plugin>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static java.lang.String.format;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@ -24,7 +24,7 @@ import javax.ws.rs.core.UriBuilder;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
/**
* Implementation of {@link PermissionChecker} that load permissions by http requests to {@link

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import org.eclipse.che.api.core.ConflictException;
import org.eclipse.che.api.core.NotFoundException;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static java.util.Arrays.asList;
import static org.mockito.Matchers.anyObject;
@ -25,8 +25,8 @@ import javax.ws.rs.core.UriBuilder;
import org.eclipse.che.api.core.rest.HttpJsonRequest;
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
import org.eclipse.che.api.core.rest.HttpJsonResponse;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.mockito.Mock;
import org.mockito.stubbing.Answer;
import org.mockito.testng.MockitoTestNGListener;

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-master-parent</artifactId>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-multiuser-api</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-core-api-permission-shared</artifactId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
<packaging>jar</packaging>
<name>Che :: Permissions :: Shared</name>
<name>Che Multiuser :: Permissions :: Shared</name>
<dependencies>
<dependency>
<groupId>org.eclipse.che.core</groupId>

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.dto;
package org.eclipse.che.multiuser.api.permission.shared.dto;
import java.util.List;
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
import org.eclipse.che.dto.shared.DTO;
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
/** @author Sergii Leschenko */
@DTO

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.dto;
package org.eclipse.che.multiuser.api.permission.shared.dto;
import java.util.List;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.dto.shared.DTO;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/** @author Sergii Leschenko */
@DTO

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.event;
package org.eclipse.che.multiuser.api.permission.shared.event;
/**
* Defines list of event types related to permissions.

View File

@ -8,10 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.event;
package org.eclipse.che.multiuser.api.permission.shared.event;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.annotation.Nullable;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* The base interface for all events related to permissions.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.model;
package org.eclipse.che.multiuser.api.permission.shared.model;
import java.util.List;
import org.eclipse.che.commons.annotation.Nullable;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.shared.model;
package org.eclipse.che.multiuser.api.permission.shared.model;
import java.util.List;

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-master-parent</artifactId>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-multiuser-api</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-core-api-permission</artifactId>
<artifactId>che-multiuser-api-permission</artifactId>
<packaging>jar</packaging>
<name>Che :: Permissions API</name>
<name>Che Multiuser :: Permissions API</name>
<properties>
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
</properties>
@ -69,10 +69,6 @@
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-dto</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission-shared</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-user</artifactId>
@ -93,6 +89,10 @@
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-db</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
@ -194,17 +194,17 @@
</executions>
<dependencies>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-permission-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-permission-shared</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<dtoPackages>
<package>org.eclipse.che.api.permission.shared.dto</package>
<package>org.eclipse.che.multiuser.api.permission.shared.dto</package>
</dtoPackages>
<outputDirectory>${dto-generator-out-directory}</outputDirectory>
<genClassName>org.ecipse.che.api.permission.server.dto.DtoServerImpls</genClassName>
<genClassName>org.ecipse.che.api.multiuser.permission.server.dto.DtoServerImpls</genClassName>
<impl>server</impl>
</configuration>
</plugin>

View File

@ -8,15 +8,15 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import com.google.common.collect.ImmutableList;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
/**
* Abstract implementation for {@link PermissionsDomain}

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import javax.inject.Inject;
import javax.inject.Singleton;

View File

@ -8,10 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static com.google.common.base.MoreObjects.firstNonNull;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@ -31,15 +31,15 @@ import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.Pages;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.notification.EventService;
import org.eclipse.che.api.permission.server.event.PermissionsCreatedEvent;
import org.eclipse.che.api.permission.server.event.PermissionsRemovedEvent;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.lang.concurrent.StripedLocks;
import org.eclipse.che.commons.lang.concurrent.Unlocker;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.multiuser.api.permission.server.event.PermissionsCreatedEvent;
import org.eclipse.che.multiuser.api.permission.server.event.PermissionsRemovedEvent;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Facade for Permissions related operations.

View File

@ -8,18 +8,18 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import com.google.inject.AbstractModule;
import com.google.inject.multibindings.MapBinder;
import com.google.inject.multibindings.Multibinder;
import com.google.inject.name.Names;
import org.eclipse.che.api.permission.server.account.AccountPermissionsChecker;
import org.eclipse.che.api.permission.server.filter.GetPermissionsFilter;
import org.eclipse.che.api.permission.server.filter.RemovePermissionsFilter;
import org.eclipse.che.api.permission.server.filter.SetPermissionsFilter;
import org.eclipse.che.api.permission.server.filter.check.RemovePermissionsChecker;
import org.eclipse.che.api.permission.server.filter.check.SetPermissionsChecker;
import org.eclipse.che.multiuser.api.permission.server.account.AccountPermissionsChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.GetPermissionsFilter;
import org.eclipse.che.multiuser.api.permission.server.filter.RemovePermissionsFilter;
import org.eclipse.che.multiuser.api.permission.server.filter.SetPermissionsFilter;
import org.eclipse.che.multiuser.api.permission.server.filter.check.RemovePermissionsChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.check.SetPermissionsChecker;
/** @author Sergii Leschenko */
public class PermissionsModule extends AbstractModule {

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static com.google.common.base.Strings.isNullOrEmpty;
import static java.util.Collections.singletonList;
@ -39,13 +39,13 @@ import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.rest.Service;
import org.eclipse.che.api.core.rest.annotations.Required;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.shared.dto.DomainDto;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.shared.dto.DomainDto;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
/**
* Defines Permissions REST API

View File

@ -8,14 +8,14 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import java.util.Set;
import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.inject.Named;
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
/**
* Checks that current subject has privileges to perform some operation without required

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import java.util.List;
import java.util.Set;
@ -16,7 +16,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.inject.Inject;
import javax.inject.Named;
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
/**
* Domain for storing actions that are used for managing system e.g. user management, configuration properties management.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.account;
package org.eclipse.che.multiuser.api.permission.server.account;
/**
* Actions that can be performed by users in accounts.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.account;
package org.eclipse.che.multiuser.api.permission.server.account;
import org.eclipse.che.api.core.ForbiddenException;

View File

@ -8,14 +8,14 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.event;
package org.eclipse.che.multiuser.api.permission.server.event;
import static org.eclipse.che.api.permission.shared.event.EventType.PERMISSIONS_ADDED;
import static org.eclipse.che.multiuser.api.permission.shared.event.EventType.PERMISSIONS_ADDED;
import org.eclipse.che.api.permission.shared.event.EventType;
import org.eclipse.che.api.permission.shared.event.PermissionsEvent;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.annotation.Nullable;
import org.eclipse.che.multiuser.api.permission.shared.event.EventType;
import org.eclipse.che.multiuser.api.permission.shared.event.PermissionsEvent;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Defines permissions added events.

View File

@ -8,14 +8,14 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.event;
package org.eclipse.che.multiuser.api.permission.server.event;
import static org.eclipse.che.api.permission.shared.event.EventType.PERMISSIONS_REMOVED;
import static org.eclipse.che.multiuser.api.permission.shared.event.EventType.PERMISSIONS_REMOVED;
import org.eclipse.che.api.permission.shared.event.EventType;
import org.eclipse.che.api.permission.shared.event.PermissionsEvent;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.annotation.Nullable;
import org.eclipse.che.multiuser.api.permission.shared.event.EventType;
import org.eclipse.che.multiuser.api.permission.shared.event.PermissionsEvent;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Defines permissions added events.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import javax.inject.Inject;
import javax.ws.rs.Path;
@ -19,11 +19,11 @@ import org.eclipse.che.api.core.ConflictException;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.PermissionsManager;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.everrest.CheMethodInvokerFilter;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.PermissionsManager;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.everrest.core.Filter;
import org.everrest.core.resource.GenericResourceMethod;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import javax.inject.Inject;
import javax.ws.rs.Path;
@ -18,12 +18,12 @@ import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.everrest.CheMethodInvokerFilter;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.everrest.core.Filter;
import org.everrest.core.resource.GenericResourceMethod;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import static com.google.common.base.Strings.isNullOrEmpty;
@ -18,11 +18,11 @@ import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.everrest.CheMethodInvokerFilter;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.everrest.core.Filter;
import org.everrest.core.resource.GenericResourceMethod;

View File

@ -8,9 +8,9 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter.check;
package org.eclipse.che.multiuser.api.permission.server.filter.check;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import javax.inject.Singleton;
import org.eclipse.che.api.core.ForbiddenException;

View File

@ -8,14 +8,14 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter.check;
package org.eclipse.che.multiuser.api.permission.server.filter.check;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import javax.inject.Singleton;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Common checks while setting permissions.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter.check;
package org.eclipse.che.multiuser.api.permission.server.filter.check;
import java.util.Map;
import javax.inject.Inject;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter.check;
package org.eclipse.che.multiuser.api.permission.server.filter.check;
import org.eclipse.che.api.core.ForbiddenException;

View File

@ -8,10 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter.check;
package org.eclipse.che.multiuser.api.permission.server.filter.check;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Defines contract for domain specific checks, before set permissions.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.jpa;
package org.eclipse.che.multiuser.api.permission.server.jpa;
import static java.util.Objects.requireNonNull;
@ -21,9 +21,9 @@ import javax.persistence.EntityManager;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
/**
* Basic JPA DAO implementation for {@link Permissions} objects.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.jpa;
package org.eclipse.che.multiuser.api.permission.server.jpa;
import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;
@ -28,10 +28,10 @@ import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.notification.EventService;
import org.eclipse.che.api.permission.server.SystemDomain;
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.api.user.server.event.BeforeUserRemovedEvent;
import org.eclipse.che.core.db.cascade.CascadeEventSubscriber;
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
/**
* JPA based implementation of system permissions DAO.

View File

@ -8,16 +8,16 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.jpa;
package org.eclipse.che.multiuser.api.permission.server.jpa;
import com.google.inject.AbstractModule;
import com.google.inject.TypeLiteral;
import com.google.inject.multibindings.Multibinder;
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.api.permission.server.SystemDomain;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
/** @author Max Shaposhnik */
public class SystemPermissionsJpaModule extends AbstractModule {

View File

@ -8,9 +8,9 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.jpa.listener;
package org.eclipse.che.multiuser.api.permission.server.jpa.listener;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import java.util.List;
import javax.annotation.PostConstruct;
@ -20,11 +20,11 @@ import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.notification.EventService;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.api.user.server.event.BeforeUserRemovedEvent;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
import org.eclipse.che.core.db.cascade.CascadeEventSubscriber;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
/**
* Listens for {@link UserImpl} removal events, and checks if the removing user is the last who have

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.model.impl;
package org.eclipse.che.multiuser.api.permission.server.model.impl;
import java.util.List;
import java.util.Objects;
@ -22,8 +22,8 @@ import javax.persistence.PostLoad;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.persistence.Transient;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
/**
* Represents user's permissions to access to some resources

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.model.impl;
package org.eclipse.che.multiuser.api.permission.server.model.impl;
import java.util.ArrayList;
import java.util.List;
@ -20,7 +20,7 @@ import javax.persistence.FetchType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import org.eclipse.che.api.permission.server.SystemDomain;
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
/**
* System permissions data object.

View File

@ -8,15 +8,15 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.spi;
package org.eclipse.che.multiuser.api.permission.server.spi;
import java.util.List;
import java.util.Optional;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
/**
* General contract of storage for permissions. Single Storage may maintain one or more Domains (it

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server;
package org.eclipse.che.multiuser.api.permission.server;
import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
@ -35,12 +35,12 @@ import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.notification.EventService;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
import org.mockito.Mock;
import org.mockito.testng.MockitoTestNGListener;
import org.testng.annotations.BeforeMethod;
@ -71,7 +71,7 @@ public class PermissionsManagerTest {
expectedExceptions = ServerException.class,
expectedExceptionsMessageRegExp =
"Permissions Domain 'test' should be stored in only one storage. "
+ "Duplicated in class org.eclipse.che.api.permission.server.spi.PermissionsDao.* and class org.eclipse.che.api.permission.server.spi.PermissionsDao.*"
+ "Duplicated in class org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao.* and class org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao.*"
)
public void shouldThrowExceptionIfThereAreTwoStoragesWhichServeOneDomain() throws Exception {
@SuppressWarnings("unchecked")

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import static com.jayway.restassured.RestAssured.given;
import static java.util.Collections.singletonList;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
@ -31,14 +31,14 @@ import java.util.List;
import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.PermissionsManager;
import org.eclipse.che.api.permission.server.PermissionsService;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.PermissionsManager;
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.everrest.assured.EverrestJetty;
import org.everrest.core.Filter;
import org.everrest.core.GenericContainerRequest;

View File

@ -8,10 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import static com.jayway.restassured.RestAssured.given;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
@ -32,14 +32,14 @@ import com.jayway.restassured.response.Response;
import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.PermissionsService;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.api.permission.server.filter.check.RemovePermissionsChecker;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.multiuser.api.permission.server.filter.check.RemovePermissionsChecker;
import org.everrest.assured.EverrestJetty;
import org.everrest.core.Filter;
import org.everrest.core.GenericContainerRequest;

View File

@ -8,10 +8,10 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.filter;
package org.eclipse.che.multiuser.api.permission.server.filter;
import static com.jayway.restassured.RestAssured.given;
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
@ -31,16 +31,16 @@ import java.util.Collections;
import org.eclipse.che.api.core.BadRequestException;
import org.eclipse.che.api.core.ForbiddenException;
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.api.permission.server.PermissionsService;
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.api.permission.server.filter.check.SetPermissionsChecker;
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.api.permission.shared.model.Permissions;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.dto.server.DtoFactory;
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
import org.eclipse.che.multiuser.api.permission.server.filter.check.SetPermissionsChecker;
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
import org.everrest.assured.EverrestJetty;
import org.everrest.core.Filter;
import org.everrest.core.GenericContainerRequest;

View File

@ -8,18 +8,12 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.jpa;
package org.eclipse.che.multiuser.api.permission.server.jpa;
import com.google.inject.TypeLiteral;
import com.google.inject.multibindings.Multibinder;
import com.google.inject.name.Names;
import org.eclipse.che.account.spi.AccountImpl;
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.api.permission.server.SystemDomain;
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.api.permission.server.spi.tck.SystemPermissionsDaoTest;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
import org.eclipse.che.commons.test.db.H2DBTestServer;
import org.eclipse.che.commons.test.db.H2JpaCleaner;
@ -32,6 +26,12 @@ import org.eclipse.che.core.db.DBInitializer;
import org.eclipse.che.core.db.h2.jpa.eclipselink.H2ExceptionHandler;
import org.eclipse.che.core.db.schema.SchemaInitializer;
import org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer;
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
import org.eclipse.che.multiuser.api.permission.server.spi.tck.SystemPermissionsDaoTest.TestDomain;
import org.h2.Driver;
/** @author Max Shaposhnik (mshaposhnik@codenvy.com) */
@ -60,7 +60,7 @@ public class SystemPermissionsTckModule extends TckModule {
binder(), String.class, Names.named(SystemDomain.SYSTEM_DOMAIN_ACTIONS));
bind(new TypeLiteral<AbstractPermissionsDomain<SystemPermissionsImpl>>() {})
.to(SystemPermissionsDaoTest.TestDomain.class);
.to(TestDomain.class);
bind(new TypeLiteral<PermissionsDao<SystemPermissionsImpl>>() {})
.to(JpaSystemPermissionsDao.class);

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.permission.server.spi.tck;
package org.eclipse.che.multiuser.api.permission.server.spi.tck;
import static java.util.Arrays.asList;
import static org.testng.AssertJUnit.assertEquals;
@ -19,12 +19,12 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.inject.Inject;
import org.eclipse.che.api.core.Page;
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.api.permission.server.jpa.JpaSystemPermissionsDao;
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
import org.eclipse.che.commons.test.tck.TckListener;
import org.eclipse.che.commons.test.tck.repository.TckRepository;
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
import org.eclipse.che.multiuser.api.permission.server.jpa.JpaSystemPermissionsDao;
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Listeners;

View File

@ -0,0 +1 @@
org.eclipse.che.multiuser.api.permission.server.jpa.SystemPermissionsTckModule

View File

@ -14,18 +14,18 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-plugin-parent</artifactId>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-multiuser-parent</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>che-plugin-keycloak-parent</artifactId>
<artifactId>che-multiuser-api</artifactId>
<packaging>pom</packaging>
<name>Che Plugin :: Keycloak</name>
<name>Che Multiuser :: API Parent</name>
<modules>
<module>che-plugin-keycloak-ide</module>
<module>che-plugin-keycloak-shared</module>
<module>che-plugin-keycloak-server</module>
<module>che-plugin-keycloak-token-provider</module>
<module>che-multiuser-api-permission-shared</module>
<module>che-multiuser-api-permission</module>
<module>che-multiuser-api-authorization</module>
<module>che-multiuser-api-authorization-impl</module>
</modules>
</project>

View File

@ -14,13 +14,14 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-plugin-keycloak-parent</artifactId>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-multiuser-keycloak</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>che-plugin-keycloak-ide</artifactId>
<artifactId>che-multiuser-keycloak-ide</artifactId>
<packaging>jar</packaging>
<name>Che Keycloak IDE plugin</name>
<name>Che Multiuser :: Keycloak IDE</name>
<dependencies>
<dependency>
<groupId>com.google.gwt.inject</groupId>
@ -39,12 +40,12 @@
<artifactId>che-core-ide-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-machine-authentication-ide</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-shared</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-machine-authentication-ide</artifactId>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.ide;
package org.eclipse.che.multiuser.keycloak.ide;
import com.google.gwt.core.client.JavaScriptObject;
import org.eclipse.che.api.promises.client.Promise;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.ide;
package org.eclipse.che.multiuser.keycloak.ide;
import com.google.gwt.http.client.RequestBuilder;
import org.eclipse.che.api.promises.client.Function;

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.ide;
package org.eclipse.che.multiuser.keycloak.ide;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.REALM_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.REALM_SETTING;
import com.google.gwt.core.client.Callback;
import com.google.gwt.core.client.JavaScriptObject;
@ -33,9 +33,9 @@ import org.eclipse.che.ide.json.JsonHelper;
import org.eclipse.che.ide.rest.AsyncRequest;
import org.eclipse.che.ide.rest.HTTPHeader;
import org.eclipse.che.ide.util.loging.Log;
import org.eclipse.che.keycloak.shared.KeycloakConstants;
import org.eclipse.che.machine.authentication.ide.MachineAsyncRequestFactory;
import org.eclipse.che.machine.authentication.ide.MachineTokenServiceClient;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
import org.eclipse.che.multiuser.machine.authentication.ide.MachineAsyncRequestFactory;
import org.eclipse.che.multiuser.machine.authentication.ide.MachineTokenServiceClient;
/** KeycloakAuthAsyncRequestFactory */
@Singleton

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.ide.inject;
package org.eclipse.che.multiuser.keycloak.ide.inject;
import com.google.gwt.inject.client.AbstractGinModule;
import org.eclipse.che.ide.api.extension.ExtensionGinModule;
@ -21,6 +21,6 @@ public class KeycloakAuthGinModule extends AbstractGinModule {
@Override
public void configure() {
bind(AsyncRequestFactory.class)
.to(org.eclipse.che.keycloak.ide.KeycloakAsyncRequestFactory.class);
.to(org.eclipse.che.multiuser.keycloak.ide.KeycloakAsyncRequestFactory.class);
}
}

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-plugin-keycloak-parent</artifactId>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-multiuser-keycloak</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-plugin-keycloak-server</artifactId>
<artifactId>che-multiuser-keycloak-server</artifactId>
<packaging>jar</packaging>
<name>Che Keycloak Server plugin</name>
<name>Che Multiuser :: Keycloak Server</name>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@ -54,10 +54,6 @@
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-authorization</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-core</artifactId>
@ -79,8 +75,12 @@
<artifactId>che-core-commons-auth</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-plugin-keycloak-shared</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-api-authorization</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.multiuser</groupId>
<artifactId>che-multiuser-keycloak-shared</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.jsonwebtoken.Claims;
@ -37,7 +37,7 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.keycloak.shared.KeycloakConstants;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -8,17 +8,17 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.GITHUB_ENDPOINT_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.LOGOUT_ENDPOINT_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.OSO_ENDPOINT_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.PASSWORD_ENDPOINT_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.PROFILE_ENDPOINT_SETTING;
import static org.eclipse.che.keycloak.shared.KeycloakConstants.REALM_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.GITHUB_ENDPOINT_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.LOGOUT_ENDPOINT_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.OSO_ENDPOINT_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PASSWORD_ENDPOINT_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PROFILE_ENDPOINT_SETTING;
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.REALM_SETTING;
import com.google.common.collect.Maps;
import java.util.Collections;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import static java.util.Collections.emptyList;
@ -29,14 +29,14 @@ import org.eclipse.che.api.core.ConflictException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.model.user.User;
import org.eclipse.che.api.permission.server.AuthorizedSubject;
import org.eclipse.che.api.permission.server.PermissionChecker;
import org.eclipse.che.api.user.server.UserManager;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.permission.server.AuthorizedSubject;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
/**
* Sets subject attribute into session based on keycloak authentication data.

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import javax.inject.Inject;
import javax.inject.Singleton;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.BufferedReader;
@ -17,7 +17,7 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import org.eclipse.che.keycloak.shared.KeycloakConstants;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server;
package org.eclipse.che.multiuser.keycloak.server;
import org.eclipse.che.api.core.ConflictException;
import org.eclipse.che.api.core.model.user.User;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server.dao;
package org.eclipse.che.multiuser.keycloak.server.dao;
import static java.util.Objects.requireNonNull;
@ -29,7 +29,7 @@ import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.user.server.model.impl.ProfileImpl;
import org.eclipse.che.api.user.server.spi.ProfileDao;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.keycloak.shared.KeycloakConstants;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
import org.keycloak.representations.idm.UserRepresentation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -8,22 +8,22 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server.deploy;
package org.eclipse.che.multiuser.keycloak.server.deploy;
import com.google.inject.AbstractModule;
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
import org.eclipse.che.api.user.server.TokenValidator;
import org.eclipse.che.api.user.server.spi.ProfileDao;
import org.eclipse.che.keycloak.server.KeycloakConfigurationService;
import org.eclipse.che.keycloak.server.KeycloakTokenValidator;
import org.eclipse.che.keycloak.server.dao.KeycloakProfileDao;
import org.eclipse.che.multiuser.keycloak.server.KeycloakConfigurationService;
import org.eclipse.che.multiuser.keycloak.server.KeycloakTokenValidator;
import org.eclipse.che.multiuser.keycloak.server.dao.KeycloakProfileDao;
public class KeycloakModule extends AbstractModule {
@Override
protected void configure() {
bind(HttpJsonRequestFactory.class)
.to(org.eclipse.che.keycloak.server.KeycloakHttpJsonRequestFactory.class);
.to(org.eclipse.che.multiuser.keycloak.server.KeycloakHttpJsonRequestFactory.class);
bind(TokenValidator.class).to(KeycloakTokenValidator.class);
bind(KeycloakConfigurationService.class);

View File

@ -8,12 +8,12 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.server.deploy;
package org.eclipse.che.multiuser.keycloak.server.deploy;
import com.google.inject.servlet.ServletModule;
import javax.inject.Singleton;
import org.eclipse.che.keycloak.server.KeycloakAuthenticationFilter;
import org.eclipse.che.keycloak.server.KeycloakEnvironmentInitalizationFilter;
import org.eclipse.che.multiuser.keycloak.server.KeycloakAuthenticationFilter;
import org.eclipse.che.multiuser.keycloak.server.KeycloakEnvironmentInitalizationFilter;
public class KeycloakServletModule extends ServletModule {
@Override

View File

@ -14,13 +14,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-plugin-keycloak-parent</artifactId>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-multiuser-keycloak</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-plugin-keycloak-shared</artifactId>
<artifactId>che-multiuser-keycloak-shared</artifactId>
<packaging>jar</packaging>
<name>Che Keycloak Shared module</name>
<name>Che Multiuser :: Keycloak Shared module</name>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.shared;
package org.eclipse.che.multiuser.keycloak.shared;
/** @author Max Shaposhnik (mshaposh@redhat.com) */
public class KeycloakConstants {

View File

@ -14,12 +14,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-plugin-keycloak-parent</artifactId>
<groupId>org.eclipse.che.plugin</groupId>
<artifactId>che-multiuser-keycloak</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-plugin-keycloak-token-provider</artifactId>
<name>Che Keycloak Token Provider plugin</name>
<artifactId>che-multiuser-keycloak-token-provider</artifactId>
<name>Che Multiuser :: Keycloak Token Provider</name>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.contoller;
package org.eclipse.che.multiuser.keycloak.token.provider.contoller;
import java.io.IOException;
import javax.inject.Inject;
@ -29,10 +29,10 @@ import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.UnauthorizedException;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
import org.eclipse.che.keycloak.token.provider.oauth.OpenShiftGitHubOAuthAuthenticator;
import org.eclipse.che.keycloak.token.provider.service.KeycloakTokenProvider;
import org.eclipse.che.keycloak.token.provider.validator.KeycloakTokenValidator;
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
import org.eclipse.che.multiuser.keycloak.token.provider.oauth.OpenShiftGitHubOAuthAuthenticator;
import org.eclipse.che.multiuser.keycloak.token.provider.service.KeycloakTokenProvider;
import org.eclipse.che.multiuser.keycloak.token.provider.validator.KeycloakTokenValidator;
import org.eclipse.che.security.oauth.OAuthAuthenticator;
import org.eclipse.che.security.oauth.OAuthAuthenticatorProvider;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.deploy;
package org.eclipse.che.multiuser.keycloak.token.provider.deploy;
import com.google.inject.AbstractModule;
import org.eclipse.che.inject.DynaModule;
@ -17,6 +17,6 @@ import org.eclipse.che.inject.DynaModule;
public class KeycloakModule extends AbstractModule {
@Override
protected void configure() {
bind(org.eclipse.che.keycloak.token.provider.contoller.TokenController.class);
bind(org.eclipse.che.multiuser.keycloak.token.provider.contoller.TokenController.class);
}
}

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.exception;
package org.eclipse.che.multiuser.keycloak.token.provider.exception;
public class KeycloakException extends Exception {

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.oauth;
package org.eclipse.che.multiuser.keycloak.token.provider.oauth;
import static com.google.common.base.Strings.isNullOrEmpty;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.service;
package org.eclipse.che.multiuser.keycloak.token.provider.service;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -26,7 +26,7 @@ import org.eclipse.che.api.core.UnauthorizedException;
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
import org.eclipse.che.api.core.rest.HttpJsonResponse;
import org.eclipse.che.commons.annotation.Nullable;
import org.eclipse.che.keycloak.token.provider.util.UrlHelper;
import org.eclipse.che.multiuser.keycloak.token.provider.util.UrlHelper;
@Singleton
public class KeycloakTokenProvider {

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.util;
package org.eclipse.che.multiuser.keycloak.token.provider.util;
import java.util.HashMap;
import java.util.Map;

View File

@ -8,11 +8,11 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.validator;
package org.eclipse.che.multiuser.keycloak.token.provider.validator;
import javax.inject.Singleton;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
@Singleton
public class KeycloakTokenValidator {

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.util;
package org.eclipse.che.multiuser.keycloak.token.provider.util;
import static org.junit.Assert.assertEquals;

View File

@ -8,9 +8,9 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.keycloak.token.provider.validator;
package org.eclipse.che.multiuser.keycloak.token.provider.validator;
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
import org.junit.BeforeClass;
import org.junit.Test;

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2012-2017 Red Hat, Inc.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Red Hat, Inc. - initial API and implementation
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-multiuser-parent</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>che-multiuser-keycloak</artifactId>
<packaging>pom</packaging>
<name>Che Multiuser :: Keycloak Integration Parent</name>
<modules>
<module>che-multiuser-keycloak-shared</module>
<module>che-multiuser-keycloak-ide</module>
<module>che-multiuser-keycloak-server</module>
<module>che-multiuser-keycloak-token-provider</module>
</modules>
</project>

View File

@ -14,12 +14,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>che-agent-parent</artifactId>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-multiuser-machine-auth</artifactId>
<groupId>org.eclipse.che.multiuser</groupId>
<version>5.18.0-SNAPSHOT</version>
</parent>
<artifactId>che-machine-authentication-agent</artifactId>
<name>Che :: Machine Authentication Agent</name>
<artifactId>che-multiuser-machine-authentication-agent</artifactId>
<name>Che Multiuser :: Machine Authentication Agent</name>
<properties>
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
</properties>

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.machine.authentication.agent;
package org.eclipse.che.multiuser.machine.authentication.agent;
import static com.google.common.base.Strings.isNullOrEmpty;

View File

@ -8,7 +8,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.machine.authentication.agent;
package org.eclipse.che.multiuser.machine.authentication.agent;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;

Some files were not shown because too many files have changed in this diff Show More