changeset 5034:59a99655f34d

Added feedback support for StageDone.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 20 Mar 2020 12:28:04 +0100
parents 13d9820c1ea4
children 56c589f7435d f572b553cd8a
files pkg/imports/agm.go pkg/imports/bn.go pkg/imports/dma.go pkg/imports/dmv.go pkg/imports/dsec.go pkg/imports/dsr.go pkg/imports/dst.go pkg/imports/fa.go pkg/imports/fd.go pkg/imports/gm.go pkg/imports/isr.go pkg/imports/queue.go pkg/imports/sec.go pkg/imports/sr.go pkg/imports/st.go pkg/imports/stsh.go pkg/imports/ubn.go pkg/imports/ufa.go pkg/imports/ugm.go pkg/imports/wa.go pkg/imports/wfsjob.go pkg/imports/wg.go pkg/imports/wp.go
diffstat 23 files changed, 34 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/agm.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/agm.go	Fri Mar 20 12:28:04 2020 +0100
@@ -92,6 +92,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	_, err := tx.ExecContext(ctx, agmStageDoneDeleteSQL, id)
 	if err == nil {
--- a/pkg/imports/bn.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/bn.go	Fri Mar 20 12:28:04 2020 +0100
@@ -188,6 +188,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	_, err := tx.ExecContext(ctx, bnStageDoneDeleteSQL, id)
 	if err == nil {
--- a/pkg/imports/dma.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/dma.go	Fri Mar 20 12:28:04 2020 +0100
@@ -66,7 +66,7 @@
 }
 
 // StageDone is a NOP for distance marks imports.
-func (dmaJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (dmaJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/dmv.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/dmv.go	Fri Mar 20 12:28:04 2020 +0100
@@ -59,7 +59,7 @@
 }
 
 // StageDone does nothing as there is no staging for distance marks virtual.
-func (dmvJobCreator) StageDone(context.Context, *sql.Tx, int64) error { return nil }
+func (dmvJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error { return nil }
 
 // CleanUp does nothing as there is nothing to cleanup with distance marks virtual.
 func (*DistanceMarksVirtual) CleanUp() error { return nil }
--- a/pkg/imports/dsec.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/dsec.go	Fri Mar 20 12:28:04 2020 +0100
@@ -63,6 +63,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	res, err := tx.ExecContext(ctx, dsecStageDoneSQL, id)
 	if err != nil {
--- a/pkg/imports/dsr.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/dsr.go	Fri Mar 20 12:28:04 2020 +0100
@@ -73,6 +73,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	result, err := tx.ExecContext(ctx, dsrStageDoneSQL, id)
 	if err != nil {
--- a/pkg/imports/dst.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/dst.go	Fri Mar 20 12:28:04 2020 +0100
@@ -62,6 +62,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	_, err := tx.ExecContext(ctx, dstStageDoneSQL, id)
 	return err
--- a/pkg/imports/fa.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/fa.go	Fri Mar 20 12:28:04 2020 +0100
@@ -189,7 +189,7 @@
 
 // StageDone moves the imported fairway availablities out of the staging area.
 // Currently doing nothing.
-func (faJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (faJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/fd.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/fd.go	Fri Mar 20 12:28:04 2020 +0100
@@ -102,6 +102,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	// Delete the old features.
 	if _, err := tx.ExecContext(ctx, deleteFairwayDimensionSQL, id); err != nil {
--- a/pkg/imports/gm.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/gm.go	Fri Mar 20 12:28:04 2020 +0100
@@ -147,7 +147,7 @@
 
 // StageDone moves the imported gauge measurement out of the staging area.
 // Currently doing nothing.
-func (gmJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (gmJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/isr.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/isr.go	Fri Mar 20 12:28:04 2020 +0100
@@ -41,7 +41,7 @@
 
 func (isrJobCreator) Create() Job { return new(IsoRefresh) }
 
-func (isrJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (isrJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/queue.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/queue.go	Fri Mar 20 12:28:04 2020 +0100
@@ -86,7 +86,7 @@
 		// StageDone is called if an import is positively reviewed
 		// (state = accepted). This can be used to finalize the imported
 		// data to move it e.g from the staging area.
-		StageDone(context.Context, *sql.Tx, int64) error
+		StageDone(context.Context, *sql.Tx, int64, Feedback) error
 		// AutoAccept indicates that imports of this kind
 		// don't need a review.
 		AutoAccept() bool
@@ -489,7 +489,8 @@
 		defer txUser.Rollback()
 
 		if accepted {
-			err = jc.StageDone(ctx, txUser, id)
+			feedback := logFeedback(id)
+			err = jc.StageDone(ctx, txUser, id, feedback)
 		} else {
 			_, err = txUser.ExecContext(ctx, deleteImportDataSQL, id)
 		}
--- a/pkg/imports/sec.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/sec.go	Fri Mar 20 12:28:04 2020 +0100
@@ -130,6 +130,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	if _, err := tx.ExecContext(ctx, secDeleteSQL, id); err != nil {
 		return err
--- a/pkg/imports/sr.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/sr.go	Fri Mar 20 12:28:04 2020 +0100
@@ -113,6 +113,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	_, err := tx.ExecContext(ctx, srStageDoneSQL, id)
 	return err
--- a/pkg/imports/st.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/st.go	Fri Mar 20 12:28:04 2020 +0100
@@ -130,6 +130,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	if _, err := tx.ExecContext(ctx, stDeleteSQL, id); err != nil {
 		return err
--- a/pkg/imports/stsh.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/stsh.go	Fri Mar 20 12:28:04 2020 +0100
@@ -79,8 +79,9 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	feedback Feedback,
 ) error {
-	return stJobCreator{}.StageDone(ctx, tx, id)
+	return stJobCreator{}.StageDone(ctx, tx, id, feedback)
 }
 
 // CleanUp removes the folder with the uploaded shape file.
--- a/pkg/imports/ubn.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/ubn.go	Fri Mar 20 12:28:04 2020 +0100
@@ -55,9 +55,10 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	feedback Feedback,
 ) error {
 	// Same as normal bottleneck import.
-	return bnJobCreator{}.StageDone(ctx, tx, id)
+	return bnJobCreator{}.StageDone(ctx, tx, id, feedback)
 }
 
 // CleanUp of a uploaded bottleneck import removes the temp dir.
--- a/pkg/imports/ufa.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/ufa.go	Fri Mar 20 12:28:04 2020 +0100
@@ -51,7 +51,7 @@
 
 func (ufaJobCreator) AutoAccept() bool { return true }
 
-func (ufaJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (ufaJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/ugm.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/ugm.go	Fri Mar 20 12:28:04 2020 +0100
@@ -45,7 +45,7 @@
 
 func (ugmJobCreator) AutoAccept() bool { return true }
 
-func (ugmJobCreator) StageDone(context.Context, *sql.Tx, int64) error { return nil }
+func (ugmJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error { return nil }
 
 // CleanUp removes the temporary files from the filesystem.
 func (ugm *UploadedGaugeMeasurement) CleanUp() error { return os.RemoveAll(ugm.Dir) }
--- a/pkg/imports/wa.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/wa.go	Fri Mar 20 12:28:04 2020 +0100
@@ -70,7 +70,7 @@
 }
 
 // StageDone is a NOP for waterway area imports.
-func (waJobCreator) StageDone(context.Context, *sql.Tx, int64) error {
+func (waJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error {
 	return nil
 }
 
--- a/pkg/imports/wfsjob.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/wfsjob.go	Fri Mar 20 12:28:04 2020 +0100
@@ -49,7 +49,7 @@
 
 		newConsumer func(context.Context, *sql.Conn, Feedback) (WFSFeatureConsumer, error)
 
-		stageDone func(context.Context, *sql.Tx, int64) error
+		stageDone func(context.Context, *sql.Tx, int64, Feedback) error
 	}
 
 	WFSFeatureJob struct {
@@ -86,11 +86,16 @@
 	return wfjc.stageDone == nil
 }
 
-func (wfjc *WFSFeatureJobCreator) StageDone(ctx context.Context, tx *sql.Tx, id int64) error {
+func (wfjc *WFSFeatureJobCreator) StageDone(
+	ctx context.Context,
+	tx *sql.Tx,
+	id int64,
+	feedback Feedback,
+) error {
 	if wfjc.stageDone == nil {
 		return nil
 	}
-	return wfjc.stageDone(ctx, tx, id)
+	return wfjc.stageDone(ctx, tx, id, feedback)
 }
 
 func (wfjc *WFSFeatureJobCreator) Create() Job {
--- a/pkg/imports/wg.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/wg.go	Fri Mar 20 12:28:04 2020 +0100
@@ -66,7 +66,7 @@
 }
 
 // StageDone does nothing as there is no staging for gauges.
-func (wgJobCreator) StageDone(context.Context, *sql.Tx, int64) error { return nil }
+func (wgJobCreator) StageDone(context.Context, *sql.Tx, int64, Feedback) error { return nil }
 
 // CleanUp does nothing as there is nothing to cleanup with gauges.
 func (*WaterwayGauge) CleanUp() error { return nil }
--- a/pkg/imports/wp.go	Fri Mar 20 10:54:41 2020 +0100
+++ b/pkg/imports/wp.go	Fri Mar 20 12:28:04 2020 +0100
@@ -153,6 +153,7 @@
 	ctx context.Context,
 	tx *sql.Tx,
 	id int64,
+	_ Feedback,
 ) error {
 	_, err := tx.ExecContext(ctx, wpStageDoneSQL, id)
 	return err