Search in sources :

Example 11 with org.eclipse.che.commons.lang.pair

use of org.eclipse.che.commons.lang.pair in project che by eclipse.

the class FileCleaner method clean.

private static void clean() {
    Pair<File, Integer> pair;
    final Set<Pair<File, Integer>> failToDelete = new HashSet<>();
    while ((pair = files.poll()) != null) {
        final File file = pair.first;
        int deleteAttempts = pair.second;
        if (file.exists()) {
            if (!IoUtil.deleteRecursive(file)) {
                failToDelete.add(Pair.of(file, ++deleteAttempts));
                if (deleteAttempts > logAfterAttempts) {
                    LOG.error("Unable delete file '{}' after {} tries", file, deleteAttempts);
                }
            } else if (LOG.isDebugEnabled()) {
                LOG.debug("Delete file '{}'", file);
            }
        }
    }
    if (!failToDelete.isEmpty()) {
        files.addAll(failToDelete);
    }
}
Also used : File(java.io.File) HashSet(java.util.HashSet) Pair(org.eclipse.che.commons.lang.Pair)

Example 12 with org.eclipse.che.commons.lang.pair

use of org.eclipse.che.commons.lang.pair in project che by eclipse.

the class MemoryVirtualFileTest method countsMd5Sums.

@Test
public void countsMd5Sums() throws Exception {
    VirtualFile root = getRoot();
    VirtualFile folder = root.createFolder(generateFolderName());
    VirtualFile file1 = folder.createFile(generateFileName(), DEFAULT_CONTENT);
    VirtualFile file2 = folder.createFile(generateFileName(), "xxx");
    root.createFolder(generateFolderName());
    Set<Pair<String, String>> expected = newHashSet(Pair.of(countMd5Sum(file1), file1.getPath().subPath(folder.getPath()).toString()), Pair.of(countMd5Sum(file2), file2.getPath().subPath(folder.getPath()).toString()));
    assertEquals(expected, newHashSet(folder.countMd5Sums()));
}
Also used : VirtualFile(org.eclipse.che.api.vfs.VirtualFile) Pair(org.eclipse.che.commons.lang.Pair) Test(org.junit.Test)

Example 13 with org.eclipse.che.commons.lang.pair

use of org.eclipse.che.commons.lang.pair in project che by eclipse.

the class PostgreSqlTckModule method configure.

@Override
protected void configure() {
    final String dbUrl = System.getProperty("jdbc.url");
    final String dbUser = System.getProperty("jdbc.user");
    final String dbPassword = System.getProperty("jdbc.password");
    waitConnectionIsEstablished(dbUrl, dbUser, dbPassword);
    // jpa
    install(new PersistTestModuleBuilder().setDriver(Driver.class).setUrl(dbUrl).setUser(dbUser).setPassword(dbPassword).setExceptionHandler(PostgreSqlExceptionHandler.class).addEntityClasses(AccountImpl.class, UserImpl.class, ProfileImpl.class, PreferenceEntity.class, WorkspaceImpl.class, WorkspaceConfigImpl.class, ProjectConfigImpl.class, EnvironmentImpl.class, EnvironmentRecipeImpl.class, ExtendedMachineImpl.class, SourceStorageImpl.class, ServerConf2Impl.class, StackImpl.class, CommandImpl.class, SnapshotImpl.class, RecipeImpl.class, SshPairImpl.class).addEntityClass("org.eclipse.che.api.workspace.server.model.impl.ProjectConfigImpl$Attribute").build());
    bind(TckResourcesCleaner.class).to(JpaCleaner.class);
    // db initialization
    bind(DBInitializer.class).asEagerSingleton();
    final PGSimpleDataSource dataSource = new PGSimpleDataSource();
    dataSource.setUser(dbUser);
    dataSource.setPassword(dbPassword);
    dataSource.setUrl(dbUrl);
    bind(SchemaInitializer.class).toInstance(new FlywaySchemaInitializer(dataSource, "che-schema"));
    // account
    bind(AccountDao.class).to(JpaAccountDao.class);
    bind(new TypeLiteral<TckRepository<AccountImpl>>() {
    }).toInstance(new JpaTckRepository<>(AccountImpl.class));
    // user
    bind(UserDao.class).to(JpaUserDao.class);
    bind(ProfileDao.class).to(JpaProfileDao.class);
    bind(PreferenceDao.class).to(JpaPreferenceDao.class);
    bind(new TypeLiteral<TckRepository<UserImpl>>() {
    }).to(UserRepo.class);
    bind(new TypeLiteral<TckRepository<Pair<String, Map<String, String>>>>() {
    }).to(PreferencesRepo.class);
    bind(new TypeLiteral<TckRepository<ProfileImpl>>() {
    }).toInstance(new JpaTckRepository<>(ProfileImpl.class));
    bind(PasswordEncryptor.class).to(SHA512PasswordEncryptor.class);
    // machine
    bind(RecipeDao.class).to(JpaRecipeDao.class);
    bind(SnapshotDao.class).to(JpaSnapshotDao.class);
    bind(new TypeLiteral<TckRepository<RecipeImpl>>() {
    }).toInstance(new JpaTckRepository<>(RecipeImpl.class));
    bind(new TypeLiteral<TckRepository<SnapshotImpl>>() {
    }).toInstance(new JpaTckRepository<>(SnapshotImpl.class));
    bind(new TypeLiteral<TckRepository<Workspace>>() {
    }).toInstance(new WorkspaceRepoForSnapshots());
    // ssh
    bind(SshDao.class).to(JpaSshDao.class);
    bind(new TypeLiteral<TckRepository<SshPairImpl>>() {
    }).toInstance(new JpaTckRepository<>(SshPairImpl.class));
    // workspace
    bind(WorkspaceDao.class).to(JpaWorkspaceDao.class);
    bind(StackDao.class).to(JpaStackDao.class);
    bind(new TypeLiteral<TckRepository<WorkspaceImpl>>() {
    }).toInstance(new WorkspaceRepository());
    bind(new TypeLiteral<TckRepository<StackImpl>>() {
    }).toInstance(new StackRepository());
}
Also used : TckResourcesCleaner(org.eclipse.che.commons.test.tck.TckResourcesCleaner) WorkspaceImpl(org.eclipse.che.api.workspace.server.model.impl.WorkspaceImpl) StackImpl(org.eclipse.che.api.workspace.server.model.impl.stack.StackImpl) SshPairImpl(org.eclipse.che.api.ssh.server.model.impl.SshPairImpl) PreferenceEntity(org.eclipse.che.api.user.server.jpa.PreferenceEntity) AccountImpl(org.eclipse.che.account.spi.AccountImpl) EnvironmentImpl(org.eclipse.che.api.workspace.server.model.impl.EnvironmentImpl) SchemaInitializer(org.eclipse.che.core.db.schema.SchemaInitializer) FlywaySchemaInitializer(org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer) FlywaySchemaInitializer(org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer) JpaProfileDao(org.eclipse.che.api.user.server.jpa.JpaProfileDao) ProfileDao(org.eclipse.che.api.user.server.spi.ProfileDao) JpaSnapshotDao(org.eclipse.che.api.machine.server.jpa.JpaSnapshotDao) SnapshotDao(org.eclipse.che.api.machine.server.spi.SnapshotDao) ServerConf2Impl(org.eclipse.che.api.workspace.server.model.impl.ServerConf2Impl) TypeLiteral(com.google.inject.TypeLiteral) UserDao(org.eclipse.che.api.user.server.spi.UserDao) JpaUserDao(org.eclipse.che.api.user.server.jpa.JpaUserDao) DBInitializer(org.eclipse.che.core.db.DBInitializer) JpaRecipeDao(org.eclipse.che.api.machine.server.jpa.JpaRecipeDao) RecipeDao(org.eclipse.che.api.machine.server.spi.RecipeDao) ExtendedMachineImpl(org.eclipse.che.api.workspace.server.model.impl.ExtendedMachineImpl) UserImpl(org.eclipse.che.api.user.server.model.impl.UserImpl) WorkspaceConfigImpl(org.eclipse.che.api.workspace.server.model.impl.WorkspaceConfigImpl) PGSimpleDataSource(org.postgresql.ds.PGSimpleDataSource) EnvironmentRecipeImpl(org.eclipse.che.api.workspace.server.model.impl.EnvironmentRecipeImpl) Pair(org.eclipse.che.commons.lang.Pair) CommandImpl(org.eclipse.che.api.machine.server.model.impl.CommandImpl) SnapshotImpl(org.eclipse.che.api.machine.server.model.impl.SnapshotImpl) PasswordEncryptor(org.eclipse.che.security.PasswordEncryptor) SHA512PasswordEncryptor(org.eclipse.che.security.SHA512PasswordEncryptor) AccountDao(org.eclipse.che.account.spi.AccountDao) JpaAccountDao(org.eclipse.che.account.spi.jpa.JpaAccountDao) JpaPreferenceDao(org.eclipse.che.api.user.server.jpa.JpaPreferenceDao) PreferenceDao(org.eclipse.che.api.user.server.spi.PreferenceDao) SshDao(org.eclipse.che.api.ssh.server.spi.SshDao) JpaSshDao(org.eclipse.che.api.ssh.server.jpa.JpaSshDao) SourceStorageImpl(org.eclipse.che.api.workspace.server.model.impl.SourceStorageImpl) PersistTestModuleBuilder(org.eclipse.che.commons.test.db.PersistTestModuleBuilder) ProfileImpl(org.eclipse.che.api.user.server.model.impl.ProfileImpl) JpaStackDao(org.eclipse.che.api.workspace.server.jpa.JpaStackDao) StackDao(org.eclipse.che.api.workspace.server.spi.StackDao) RecipeImpl(org.eclipse.che.api.machine.server.recipe.RecipeImpl) EnvironmentRecipeImpl(org.eclipse.che.api.workspace.server.model.impl.EnvironmentRecipeImpl) JpaWorkspaceDao(org.eclipse.che.api.workspace.server.jpa.JpaWorkspaceDao) WorkspaceDao(org.eclipse.che.api.workspace.server.spi.WorkspaceDao) ProjectConfigImpl(org.eclipse.che.api.workspace.server.model.impl.ProjectConfigImpl) Workspace(org.eclipse.che.api.core.model.workspace.Workspace)

Aggregations

Pair (org.eclipse.che.commons.lang.Pair)13 HashSet (java.util.HashSet)5 Test (org.testng.annotations.Test)5 Set (java.util.Set)4 Sets (com.google.common.collect.Sets)3 ArrayList (java.util.ArrayList)3 Arrays.asList (java.util.Arrays.asList)3 Collectors (java.util.stream.Collectors)3 ServiceContext (org.eclipse.che.api.core.rest.ServiceContext)3 DtoFactory (org.eclipse.che.dto.server.DtoFactory)3 Strings.isNullOrEmpty (com.google.common.base.Strings.isNullOrEmpty)2 TypeLiteral (com.google.inject.TypeLiteral)2 List (java.util.List)2 Map (java.util.Map)2 UriBuilder (javax.ws.rs.core.UriBuilder)2 VirtualFile (org.eclipse.che.api.vfs.VirtualFile)2 UriBuilderImpl (org.everrest.core.impl.uri.UriBuilderImpl)2 Test (org.junit.Test)2 Mock (org.mockito.Mock)2 Mockito.when (org.mockito.Mockito.when)2