From deae8a8f7063d46e6daaf3a9e1cf82a1a971cbe2 Mon Sep 17 00:00:00 2001 From: Sergii Kabashniuk Date: Fri, 29 Nov 2019 11:14:14 +0100 Subject: [PATCH] Drop che_workspace_expiration table (#15357) * Drop che_workspace_expiration table Signed-off-by: Sergii Kabashniuk --- .../main/resources/META-INF/persistence.xml | 1 - .../InmemoryWorkspaceActivityDao.java | 5 - .../activity/JpaWorkspaceActivityDao.java | 5 - .../activity/WorkspaceActivityDao.java | 11 -- .../activity/WorkspaceExpiration.java | 104 ------------------ .../1__drop_che_workspace_expiration.sql | 14 +++ .../src/test/java/MySqlTckModule.java | 4 - .../src/test/java/PostgreSqlTckModule.java | 3 - 8 files changed, 14 insertions(+), 133 deletions(-) delete mode 100644 wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceExpiration.java create mode 100644 wsmaster/che-core-sql-schema/src/main/resources/che-schema/7.6.0/1__drop_che_workspace_expiration.sql diff --git a/assembly/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml b/assembly/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml index b02c053a28..ad62ad0180 100644 --- a/assembly/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml +++ b/assembly/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml @@ -72,7 +72,6 @@ org.eclipse.che.multiuser.organization.spi.impl.MemberImpl org.eclipse.che.multiuser.organization.spi.impl.OrganizationDistributedResourcesImpl - org.eclipse.che.api.workspace.activity.WorkspaceExpiration org.eclipse.che.api.workspace.activity.WorkspaceActivity org.eclipse.che.multiuser.machine.authentication.server.signature.model.impl.SignatureKeyImpl org.eclipse.che.multiuser.machine.authentication.server.signature.model.impl.SignatureKeyPairImpl diff --git a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/InmemoryWorkspaceActivityDao.java b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/InmemoryWorkspaceActivityDao.java index b981bf0ce2..47775970dd 100644 --- a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/InmemoryWorkspaceActivityDao.java +++ b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/InmemoryWorkspaceActivityDao.java @@ -32,11 +32,6 @@ public class InmemoryWorkspaceActivityDao implements WorkspaceActivityDao { private final Map workspaceActivities = new ConcurrentHashMap<>(); - @Override - public void setExpiration(WorkspaceExpiration expiration) { - setExpirationTime(expiration.getWorkspaceId(), expiration.getExpiration()); - } - @Override public void setExpirationTime(String workspaceId, long expirationTime) { findActivity(workspaceId).setExpiration(expirationTime); diff --git a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/JpaWorkspaceActivityDao.java b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/JpaWorkspaceActivityDao.java index 9514eb1a80..2e86deb09b 100644 --- a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/JpaWorkspaceActivityDao.java +++ b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/JpaWorkspaceActivityDao.java @@ -38,11 +38,6 @@ public class JpaWorkspaceActivityDao implements WorkspaceActivityDao { @Inject private Provider managerProvider; - @Override - public void setExpiration(WorkspaceExpiration expiration) throws ServerException { - setExpirationTime(expiration.getWorkspaceId(), expiration.getExpiration()); - } - @Override public void setExpirationTime(String workspaceId, long expirationTime) throws ServerException { requireNonNull(workspaceId, "Required non-null workspace id"); diff --git a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceActivityDao.java b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceActivityDao.java index ce86b489a3..d7cda269a1 100644 --- a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceActivityDao.java +++ b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceActivityDao.java @@ -24,17 +24,6 @@ import org.eclipse.che.api.core.model.workspace.WorkspaceStatus; */ public interface WorkspaceActivityDao { - /** - * Sets workspace expiration time. Any running workspace must prolongate expiration time - * periodically, otherwise it will be stopped by passing that time. - * - * @param expiration expiration object to store - * @throws ServerException when operation failed - * @deprecated use {@link #setExpirationTime(String, long)} instead - */ - @Deprecated - void setExpiration(WorkspaceExpiration expiration) throws ServerException; - /** * Sets workspace expiration time. Any running workspace must prolong expiration time * periodically, otherwise it will be stopped by passing that time. diff --git a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceExpiration.java b/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceExpiration.java deleted file mode 100644 index 00ad6ac23d..0000000000 --- a/wsmaster/che-core-api-workspace-activity/src/main/java/org/eclipse/che/api/workspace/activity/WorkspaceExpiration.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2012-2018 Red Hat, Inc. - * This program and the accompanying materials are made - * available under the terms of the Eclipse Public License 2.0 - * which is available at https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Red Hat, Inc. - initial API and implementation - */ -package org.eclipse.che.api.workspace.activity; - -import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.PrimaryKeyJoinColumn; -import javax.persistence.Table; -import org.eclipse.che.api.workspace.server.model.impl.WorkspaceImpl; - -/** - * Data object for storing workspace expiration times. - * - * @author Max Shaposhnik (mshaposh@redhat.com) - * @deprecated since 6.16.0, use {@link WorkspaceActivity} instead - */ -@Entity(name = "WorkspaceExpiration") -@NamedQueries({ - @NamedQuery( - name = "WorkspaceExpiration.getExpired", - query = "SELECT e FROM WorkspaceExpiration e WHERE e.expiration < :expiration") -}) -@Table(name = "che_workspace_expiration") -@Deprecated -public class WorkspaceExpiration { - - @Id - @Column(name = "workspace_id") - private String workspaceId; - - @PrimaryKeyJoinColumn private WorkspaceImpl workspace; - - @Column(name = "expiration") - private long expiration; - - public WorkspaceExpiration() {} - - public WorkspaceExpiration(String workspaceId, long expiration) { - this.workspaceId = workspaceId; - this.expiration = expiration; - } - - public String getWorkspaceId() { - return workspaceId; - } - - public void setWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - } - - public long getExpiration() { - return expiration; - } - - public void setExpiration(long expiration) { - this.expiration = expiration; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof WorkspaceExpiration)) { - return false; - } - WorkspaceExpiration that = (WorkspaceExpiration) obj; - final WorkspaceExpiration other = (WorkspaceExpiration) obj; - return Objects.equals(workspaceId, other.getWorkspaceId()) - && Objects.equals(expiration, other.getExpiration()); - } - - @Override - public int hashCode() { - int hash = 7; - hash = 31 * hash + Objects.hashCode(workspaceId); - hash = 31 * hash + Objects.hashCode(expiration); - return hash; - } - - @Override - public String toString() { - return "WorkspaceExpiration{" - + "workspaceId='" - + workspaceId - + '\'' - + ", expiration=" - + expiration - + '}'; - } -} diff --git a/wsmaster/che-core-sql-schema/src/main/resources/che-schema/7.6.0/1__drop_che_workspace_expiration.sql b/wsmaster/che-core-sql-schema/src/main/resources/che-schema/7.6.0/1__drop_che_workspace_expiration.sql new file mode 100644 index 0000000000..ca96ccc838 --- /dev/null +++ b/wsmaster/che-core-sql-schema/src/main/resources/che-schema/7.6.0/1__drop_che_workspace_expiration.sql @@ -0,0 +1,14 @@ +-- +-- Copyright (c) 2012-2019 Red Hat, Inc. +-- This program and the accompanying materials are made +-- available under the terms of the Eclipse Public License 2.0 +-- which is available at https://www.eclipse.org/legal/epl-2.0/ +-- +-- SPDX-License-Identifier: EPL-2.0 +-- +-- Contributors: +-- Red Hat, Inc. - initial API and implementation +-- + + +DROP TABLE IF EXISTS che_workspace_expiration; diff --git a/wsmaster/integration-tests/mysql-tck/src/test/java/MySqlTckModule.java b/wsmaster/integration-tests/mysql-tck/src/test/java/MySqlTckModule.java index f6203507b7..62d564dd89 100644 --- a/wsmaster/integration-tests/mysql-tck/src/test/java/MySqlTckModule.java +++ b/wsmaster/integration-tests/mysql-tck/src/test/java/MySqlTckModule.java @@ -39,7 +39,6 @@ import org.eclipse.che.api.user.server.spi.UserDao; import org.eclipse.che.api.workspace.activity.JpaWorkspaceActivityDao; import org.eclipse.che.api.workspace.activity.WorkspaceActivity; import org.eclipse.che.api.workspace.activity.WorkspaceActivityDao; -import org.eclipse.che.api.workspace.activity.WorkspaceExpiration; import org.eclipse.che.api.workspace.server.devfile.SerializableConverter; import org.eclipse.che.api.workspace.server.jpa.JpaWorkspaceDao; import org.eclipse.che.api.workspace.server.model.impl.CommandImpl; @@ -197,9 +196,6 @@ public class MySqlTckModule extends TckModule { bind(WorkspaceActivityDao.class).to(JpaWorkspaceActivityDao.class); bind(new TypeLiteral>() {}).toInstance(new WorkspaceRepository()); - bind(new TypeLiteral>() {}) - .toInstance(new JpaTckRepository<>(WorkspaceExpiration.class)); - // sign keys bind(SignatureKeyDao.class).to(JpaSignatureKeyDao.class); bind(new TypeLiteral>() {}) diff --git a/wsmaster/integration-tests/postgresql-tck/src/test/java/PostgreSqlTckModule.java b/wsmaster/integration-tests/postgresql-tck/src/test/java/PostgreSqlTckModule.java index f5f5819c2a..3859e69c93 100644 --- a/wsmaster/integration-tests/postgresql-tck/src/test/java/PostgreSqlTckModule.java +++ b/wsmaster/integration-tests/postgresql-tck/src/test/java/PostgreSqlTckModule.java @@ -39,7 +39,6 @@ import org.eclipse.che.api.user.server.spi.UserDao; import org.eclipse.che.api.workspace.activity.JpaWorkspaceActivityDao; import org.eclipse.che.api.workspace.activity.WorkspaceActivity; import org.eclipse.che.api.workspace.activity.WorkspaceActivityDao; -import org.eclipse.che.api.workspace.activity.WorkspaceExpiration; import org.eclipse.che.api.workspace.server.devfile.SerializableConverter; import org.eclipse.che.api.workspace.server.jpa.JpaWorkspaceDao; import org.eclipse.che.api.workspace.server.model.impl.CommandImpl; @@ -191,8 +190,6 @@ public class PostgreSqlTckModule extends TckModule { bind(WorkspaceDao.class).to(JpaWorkspaceDao.class); bind(WorkspaceActivityDao.class).to(JpaWorkspaceActivityDao.class); bind(new TypeLiteral>() {}).toInstance(new WorkspaceRepository()); - bind(new TypeLiteral>() {}) - .toInstance(new JpaTckRepository<>(WorkspaceExpiration.class)); // k8s runtimes bind(new TypeLiteral>() {})