patch for issue #708. fix few hanging UIs when importing file

This commit is contained in:
jackyq2015 2015-07-18 10:27:35 -04:00
parent fa7733e03e
commit 819e1ba5c6
10 changed files with 27 additions and 10 deletions

View File

@ -41,6 +41,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import org.json.JSONObject;
import org.marc4j.MarcException;
import org.marc4j.MarcPermissiveStreamReader;
import org.marc4j.MarcWriter;
import org.marc4j.MarcXmlWriter;
@ -58,14 +59,11 @@ public class MarcImporter extends XmlImporter {
@Override
public JSONObject createParserUIInitializationData(ImportingJob job, java.util.List<JSONObject> fileRecords, String format) {
if (fileRecords.size() > 0) {
JSONObject firstFileRecord = fileRecords.get(0);
File file = ImportingUtilities.getFile(job, firstFileRecord);
File tempFile = new File(file.getAbsolutePath()+".xml");
JSONUtilities.safePut(firstFileRecord, "location",
JSONUtilities.getString(firstFileRecord, "location", "")+".xml");
try {
InputStream inputStream = new FileInputStream(file);
@ -84,7 +82,14 @@ public class MarcImporter extends XmlImporter {
try {
outputStream.close();
inputStream.close();
file.delete(); // get rid of our original file
if (tempFile.length() == 0) // write failed. Most of time because of wrong Marc format
tempFile.delete();
else // only set json if write the temp file successfully:
JSONUtilities.safePut(firstFileRecord, "location",
JSONUtilities.getString(firstFileRecord, "location", "")+".xml");
// file.delete(); // get rid of our original file
} catch (IOException e) {
// Just ignore - not much we can do anyway
}
@ -93,11 +98,8 @@ public class MarcImporter extends XmlImporter {
logger.error("Failed to create temporary XML file from MARC file", e);
}
}
JSONObject options = super.createParserUIInitializationData(job, fileRecords, format);
return options;
};
}

View File

@ -533,6 +533,7 @@
"specify-sep": "Please specify a separator.",
"warning-no-length": "No field length is specified.",
"warning-format": "The given field lengths are not properly formatted.",
"check-format": "Please check the file format.",
"split-into-col": "Split into several columns",
"add-based-col": "Add column based on this column",
"add-by-urls": "Add column by fetching URLs",

View File

@ -533,6 +533,7 @@
"specify-sep": "Please specify a separator.",
"warning-no-length": "No field length is specified.",
"warning-format": "The given field lengths are not properly formatted.",
"check-format": "Please check the file format.",
"split-into-col": "Split into several columns",
"add-based-col": "Add column based on this column",
"add-by-urls": "Add column by fetching URLs",

View File

@ -533,6 +533,7 @@
"specify-sep": "Por favor especifique un separador.",
"warning-no-length": "No se especificó un valor de longitud.",
"warning-format": "Los valores de longitud no cumplen con el formato.",
"check-format": "Favor verificar el formato de archivo.",
"split-into-col": "Dividir en varias columnas",
"add-based-col": "Agregar columna basada en esta columna",
"add-by-urls": "Agregar columna accediendo a URLs",

View File

@ -533,6 +533,7 @@
"specify-sep": "Merci dindiquer un séparateur.",
"warning-no-length": "Aucune longueur de champ na été indiquée.",
"warning-format": "Le paramètre des longueurs de champs nest pas formaté correctement.",
"check-format": "Merci de vérifier le format du fichier.",
"split-into-col": "Diviser en plusieurs colonnes",
"add-based-col": "Ajouter une colonne en fonction de cette colonne",
"add-by-urls": "Ajouter une colonne en moissonant des URL",

View File

@ -533,6 +533,7 @@
"specify-sep": "Per favore specifica il separatore.",
"warning-no-length": "Nessuna lunghezza dei campi specificata.",
"warning-format": "Le lunghezze dei campi non sono formattate correttamente.",
"check-format": "Per favore controlla il formato del file.",
"split-into-col": "Dividi in diverse colonne",
"add-based-col": "Aggiungi colonna basata su questa",
"add-by-urls": "Aggiungi colonna recuperando da URLs",

View File

@ -534,6 +534,7 @@
"specify-sep": "请制定一个分隔符.",
"warning-no-length": "No field length is specified.",
"warning-format": "The given field lengths are not properly formatted.",
"check-format": "请检查文件格式.",
"split-into-col": "分割此列",
"add-based-col": "由此列派生新列",
"add-by-urls": "添加远程数据为新列",

View File

@ -192,13 +192,17 @@ Refine.DefaultImportingController.prototype._ensureFormatParserUIHasInitializati
}
},
"json"
);
)
.fail(function() {
dismissBusy();
alert($.i18n._('core-views')["check-format"]);
});
} else {
onDone();
}
};
Refine.DefaultImportingController.prototype.updateFormatAndOptions = function(options, callback) {
Refine.DefaultImportingController.prototype.updateFormatAndOptions = function(options, callback, finallyCallBack) {
var self = this;
$.post(
"command/core/importing-controller?" + $.param({
@ -219,6 +223,7 @@ Refine.DefaultImportingController.prototype.updateFormatAndOptions = function(op
$.each(o.errors, function() { messages.push(this.message); });
alert(messages.join('\n\n'));
}
finallyCallBack();
} else {
callback(o);
}

View File

@ -217,5 +217,7 @@ Refine.ExcelParserUI.prototype._updatePreview = function() {
new Refine.PreviewTable(projectData, self._dataContainer.unbind().empty());
});
}
}, function() {
self._progressContainer.hide();
});
};

View File

@ -120,5 +120,7 @@ Refine.RdfTriplesParserUI.prototype._updatePreview = function() {
new Refine.PreviewTable(projectData, self._dataContainer.unbind().empty());
});
}
}, function() {
self._progressContainer.hide();
});
};