Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java,v
diff -u -r1.73 -r1.74
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 17 Sep 2007 01:23:34 -0000 1.73
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 18 Oct 2007 06:22:42 -0000 1.74
@@ -24,6 +24,7 @@
/* $Id$ */
package org.lamsfoundation.lams.learningdesign.service;
+import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -184,8 +185,8 @@
private static final String IMS_PREFIX_RESOURCE_IDENTIFIER = "R-";
private static final String IMS_PREFIX_ACTIVITY_REF = "A-";
private static final String IMS_PREFIX_COMPLEX_REF = "S-";
-
- //this is not IMS standard tag, temporarily use to gather all tools node list
+
+ //this is not IMS standard tag, temporarily use to gather all tools node list
private static final String IMS_TAG_TRANSITIONS = "transitions";
// this is not IMS standard tag, temp use to ref grouping/gate activities
@@ -241,6 +242,11 @@
private ILearningDesignDAO learningDesignDAO;
private ILearningLibraryDAO learningLibraryDAO;
private IToolImportSupportDAO toolImportSupportDAO;
+
+
+ private static final String KEY_MSG_IMPORT_FILE_FORMAT = "msg.import.file.format";
+
+
/**
* Class of tool attachment file handler class and relative fields information container.
@@ -875,13 +881,87 @@
this.filterClass = filterClass;
}
+ /** Import the learning design from the given path. Set the importer as the creator. If the workspaceFolderUid is
+ * null then saves the design in the user's own workspace folder.
+ *
+ * @param designFile
+ * @param importer
+ * @param workspaceFolderUid
+ * @return An object array where:
+ *
+ * - Object[0] = ldID (Long)
+ * - Object[1] = ldErrors when importing (List)
+ * - Object[2] = toolErrors when importing (List)
+ *
+ *
+ * @throws ImportToolContentException
+ */
+ public Object[] importLearningDesign(File designFile, User importer, Integer workspaceFolderUid,
+ List toolsErrorMsgs) throws ImportToolContentException {
+
+ Object[] ldResults = new Object[3];
+ Long ldId = null;
+ List ldErrorMsgs = new ArrayList();
+ String filename = designFile.getName();
+ String extension = filename != null && filename.length() >= 4 ? filename.substring(filename.length()-4) : "";
+
+ try {
+
+ if ( extension.equalsIgnoreCase(".las") ) {
+ // process 1.0.x file.
+ String wddxPacket = getPacket(new FileInputStream(designFile));
+ if ( wddxPacket == null || ! ( wddxPacket.startsWith(" toolsErrorMsgs) throws ImportToolContentException {
WorkspaceFolder folder = getWorkspaceFolderForDesign(importer, workspaceFolderUid);
LD102Importer oldImporter = getLD102Importer();
@@ -894,7 +974,7 @@
* @throws ExportToolContentException
* @see org.lamsfoundation.lams.authoring.service.IExportToolContentService.importLearningDesign(String)
*/
- public Long importLearningDesign(String learningDesignPath, User importer, Integer workspaceFolderUid
+ public Long importLearningDesignV2(String learningDesignPath, User importer, Integer workspaceFolderUid
, List toolsErrorMsgs) throws ImportToolContentException {
try {
@@ -1015,7 +1095,15 @@
}
return folder;
}
+
+ private void badFileType(List ldErrorMsgs, String filename, String errDescription) {
+ log.error("Uploaded file not an expected type. Filename was "+filename+" "+errDescription);
+ MessageService msgService = getMessageService();
+ String msg = msgService.getMessage(KEY_MSG_IMPORT_FILE_FORMAT);
+ ldErrorMsgs.add(msg != null ? msg : "Uploaded file not an expected type.");
+ }
+
/**
* Import tool content
*/
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java,v
diff -u -r1.16 -r1.17
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java 27 Oct 2006 02:35:29 -0000 1.16
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java 18 Oct 2007 06:22:42 -0000 1.17
@@ -108,6 +108,24 @@
String initialItemFieldName);
void registerImportVersionFilterClass(Class filterClass);
+
+ /** Import the learning design from the given path. Set the importer as the creator. If the workspaceFolderUid is
+ * null then saves the design in the user's own workspace folder.
+ *
+ * @param designFile
+ * @param importer
+ * @param workspaceFolderUid
+ * @return An object array where:
+ *
+ * - Object[0] = ldID (Long)
+ * - Object[1] = ldErrors when importing (List)
+ * - Object[2] = toolErrors when importing (List)
+ *
+ *
+ * @throws ImportToolContentException
+ */
+ Object[] importLearningDesign(File designFile, User importer, Integer workspaceFolderUid,
+ List toolsErrorMsgs) throws ImportToolContentException ;
/** Import the learning design from the given path. Set the importer as the creator. If the workspaceFolderUid is
* null then saves the design in the user's own workspace folder.
@@ -118,7 +136,7 @@
* @return learningDesignID
* @throws ImportToolContentException
*/
- Long importLearningDesign(String learningDesignPath,User importer, Integer workspaceFolderUid, List toolsErrorMsgs) throws ImportToolContentException;
+// Long importLearningDesignv2(String learningDesignPath,User importer, Integer workspaceFolderUid, List toolsErrorMsgs) throws ImportToolContentException;
/**
* Import the tool content. This is called by tools to do the actual content import, once the tool
@@ -133,7 +151,7 @@
* @throws ExportToolContentException
* @see org.lamsfoundation.lams.authoring.service.IExportToolContentService.importLearningDesign102(String, User, WorkspaceFolder)
*/
- public Long importLearningDesign102(String ldWddxPacket, User importer, Integer workspaceFolderUid
- , List toolsErrorMsgs) throws ImportToolContentException;
+// public Long importLearningDesignV102(String ldWddxPacket, User importer, Integer workspaceFolderUid
+// , List toolsErrorMsgs) throws ImportToolContentException;
}