Code cleanup

ccm-docs
Jens Pelzetter 2020-12-09 20:26:03 +01:00
parent 0b3d03cae6
commit 36bba3b9dc
6 changed files with 23 additions and 164 deletions

View File

@ -34,7 +34,7 @@ public class ExportTaskStatus implements Comparable<ExportTaskStatus> {
private LocalDateTime started;
private ImExportTaskStatusEnum status;
private ImExportTaskStatus status;
private Throwable exception;
@ -54,11 +54,11 @@ public class ExportTaskStatus implements Comparable<ExportTaskStatus> {
this.started = started;
}
public ImExportTaskStatusEnum getStatus() {
public ImExportTaskStatus getStatus() {
return status;
}
protected void setStatus(final ImExportTaskStatusEnum status) {
protected void setStatus(final ImExportTaskStatus status) {
this.status = status;
}
@ -104,7 +104,7 @@ public class ExportTaskStatus implements Comparable<ExportTaskStatus> {
}
public boolean canEqual(final Object obj) {
return obj instanceof ImExportTaskStatus;
return obj instanceof ExportTaskStatus;
}
@Override

View File

@ -18,121 +18,14 @@
*/
package org.libreccm.ui.admin.imexport;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Comparator;
import java.util.Objects;
import java.util.concurrent.Future;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class ImExportTaskStatus implements Comparable<ImExportTaskStatus> {
public enum ImExportTaskStatus {
private String name;
private LocalDateTime started;
private Future<?> status;
public String getName() {
return name;
}
protected void setName(final String name) {
this.name = name;
}
public LocalDateTime getStarted() {
return started;
}
public String getStartedAsIso() {
return DateTimeFormatter.ISO_DATE_TIME.withZone(
ZoneId.systemDefault()).format(started
);
}
protected void setStarted(final LocalDateTime started) {
this.started = started;
}
public Future<?> getStatus() {
return status;
}
protected void setStatus(final Future<?> status) {
this.status = status;
}
public boolean isDone() {
return status.isDone();
}
protected void cancel() {
status.cancel(true);
}
@Override
public int hashCode() {
int hash = 7;
hash = 23 * hash + Objects.hashCode(this.name);
hash = 23 * hash + Objects.hashCode(this.started);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ImExportTaskStatus)) {
return false;
}
final ImExportTaskStatus other = (ImExportTaskStatus) obj;
if (!other.canEqual(this)) {
return false;
}
if (!Objects.equals(this.name, other.getName())) {
return false;
}
return Objects.equals(this.started, other.getStarted());
}
public boolean canEqual(final Object obj) {
return obj instanceof ImExportTaskStatus;
}
@Override
public int compareTo(final ImExportTaskStatus other) {
return Comparator
.nullsFirst(Comparator
.comparing(ImExportTaskStatus::getName)
.thenComparing(ImExportTaskStatus::getStarted)
)
.compare(this, other);
}
@Override
public String toString() {
return String.format(
"%s{ "
+ "name = %s, "
+ "started = %s, "
+ "status = %s"
+ " }",
super.toString(),
name,
DateTimeFormatter.ISO_DATE_TIME.withZone(
ZoneId.systemDefault()
).format(started),
Objects.toString(status)
);
}
ERROR,
FINISHED,
RUNNING,
}

View File

@ -1,31 +0,0 @@
/*
* Copyright (C) 2020 LibreCCM Foundation.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.ui.admin.imexport;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public enum ImExportTaskStatusEnum {
ERROR,
FINISHED,
RUNNING,
}

View File

@ -45,7 +45,7 @@ public class ImExportTasks {
final String exportName = task.getName();
importExport.exportEntities(entities, exportName);
task.getStatus().setStatus(ImExportTaskStatusEnum.FINISHED);
task.getStatus().setStatus(ImExportTaskStatus.FINISHED);
return task;
}

View File

@ -109,7 +109,7 @@ public class ImportExportTaskManager {
new ExportTask(exportName, LocalDate.now(), entities, taskStatus)
).handle((task , ex) -> handleExportTaskResult(task, ex, taskStatus));
taskStatus.setStatus(ImExportTaskStatusEnum.RUNNING);
taskStatus.setStatus(ImExportTaskStatus.RUNNING);
exportTasks.add(taskStatus);
}
@ -120,20 +120,17 @@ public class ImportExportTaskManager {
new ImportTask(importName, LocalDate.now(), taskStatus)
).handle((task, ex) -> handleImportTaskResult(task, ex, taskStatus));
taskStatus.setStatus(ImExportTaskStatusEnum.RUNNING);
taskStatus.setStatus(ImExportTaskStatus.RUNNING);
importTasks.add(taskStatus);
}
@Schedule(hour = "*", minute = "*/5", persistent = false)
protected void removeFinishedTasks() {
exportTasks.removeIf(taskStatus -> taskStatus.getStatus() == ImExportTaskStatusEnum.FINISHED);
// importTasks.removeIf(taskStatus -> taskStatus.getStatus() == ImExportTaskStatusEnum.FINISHED);
}
public void cancelTask(final ImExportTaskStatus task) {
task.cancel();
exportTasks.removeIf(taskStatus -> taskStatus.getStatus() == ImExportTaskStatus.FINISHED);
// importTasks.removeIf(taskStatus -> taskStatus.getStatus() == ImExportTaskStatus.FINISHED);
}
private Set<? extends Exportable> collectEntities(
final Class<Exportable> ofType
) {
@ -152,9 +149,9 @@ public class ImportExportTaskManager {
final ExportTask task, final Throwable ex, final ExportTaskStatus status
) {
if (ex == null) {
status.setStatus(ImExportTaskStatusEnum.FINISHED);
status.setStatus(ImExportTaskStatus.FINISHED);
} else {
status.setStatus(ImExportTaskStatusEnum.ERROR);
status.setStatus(ImExportTaskStatus.ERROR);
status.setException(ex);
LOGGER.error("Export Task {} failed ", task);
LOGGER.error("with exception:", ex);
@ -166,9 +163,9 @@ public class ImportExportTaskManager {
final ImportTask task, final Throwable ex, final ImportTaskStatus status
) {
if (ex == null) {
status.setStatus(ImExportTaskStatusEnum.FINISHED);
status.setStatus(ImExportTaskStatus.FINISHED);
} else {
status.setStatus(ImExportTaskStatusEnum.ERROR);
status.setStatus(ImExportTaskStatus.ERROR);
status.setException(ex);
LOGGER.error("Import Task {} failed", task);
LOGGER.error("with exception: ", ex);

View File

@ -34,7 +34,7 @@ public class ImportTaskStatus implements Comparable<ImportTaskStatus> {
private LocalDateTime started;
private ImExportTaskStatusEnum status;
private ImExportTaskStatus status;
private Throwable exception;
@ -55,11 +55,11 @@ public class ImportTaskStatus implements Comparable<ImportTaskStatus> {
this.started = started;
}
public ImExportTaskStatusEnum getStatus() {
public ImExportTaskStatus getStatus() {
return status;
}
protected void setStatus(final ImExportTaskStatusEnum status) {
protected void setStatus(final ImExportTaskStatus status) {
this.status = status;
}
@ -88,7 +88,7 @@ public class ImportTaskStatus implements Comparable<ImportTaskStatus> {
if (obj == null) {
return false;
}
if (!(obj instanceof ImExportTaskStatus)) {
if (!(obj instanceof ExportTaskStatus)) {
return false;
}
final ImportTaskStatus other = (ImportTaskStatus) obj;
@ -106,7 +106,7 @@ public class ImportTaskStatus implements Comparable<ImportTaskStatus> {
public boolean canEqual(final Object obj) {
return obj instanceof ImExportTaskStatus;
return obj instanceof ImportTaskStatus;
}
@Override