Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/voteApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/voteApplicationContext.xml,v
diff -u -r1.3 -r1.4
--- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/voteApplicationContext.xml 25 May 2006 19:30:12 -0000 1.3
+++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/voteApplicationContext.xml 25 Jun 2006 01:59:23 -0000 1.4
@@ -78,7 +78,8 @@
-
+
+
Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/pojos/VoteUploadedFile.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/pojos/Attic/VoteUploadedFile.java,v
diff -u -r1.3 -r1.4
--- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/pojos/VoteUploadedFile.java 29 Apr 2006 13:57:56 -0000 1.3
+++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/pojos/VoteUploadedFile.java 25 Jun 2006 01:59:23 -0000 1.4
@@ -24,6 +24,7 @@
import java.io.Serializable;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.contentrepository.ItemNotFoundException;
@@ -108,10 +109,14 @@
try
{
- NodeKey copiedNodeKey = toolContentHandler.copyFile(new Long(mcUploadedFile.getUuid()));
- logger.debug("copied NodeKey: " + copiedNodeKey);
- logger.debug("copied NodeKey uuid: " + copiedNodeKey.getUuid().toString());
- newMcUploadedFile = new VoteUploadedFile(copiedNodeKey.getUuid().toString(),
+ String fileUuid = mcUploadedFile.getUuid();
+ if(toolContentHandler != null){
+ NodeKey copiedNodeKey = toolContentHandler.copyFile(new Long(mcUploadedFile.getUuid()));
+ logger.debug("copied NodeKey: " + copiedNodeKey);
+ logger.debug("copied NodeKey uuid: " + copiedNodeKey.getUuid().toString());
+ fileUuid = copiedNodeKey.getUuid().toString();
+ }
+ newMcUploadedFile = new VoteUploadedFile(fileUuid,
mcUploadedFile.isFileOnline(),
mcUploadedFile.getFilename(),
newMcContent);
@@ -227,4 +232,20 @@
public void setVoteContent(VoteContent voteContent) {
this.voteContent = voteContent;
}
+
+ public String getFileProperty() {
+ if (isFileOnline())
+ {
+ return IToolContentHandler.TYPE_ONLINE;
+ }
+ else
+ return IToolContentHandler.TYPE_OFFLINE;
+ }
+
+ public void setFileProperty(String fileProperty) {
+ if(StringUtils.equals(IToolContentHandler.TYPE_ONLINE,fileProperty))
+ this.fileOnline = true;
+ else
+ this.fileOnline = false;
+ }
}
Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java,v
diff -u -r1.38 -r1.39
--- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java 12 Jun 2006 19:52:12 -0000 1.38
+++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java 25 Jun 2006 01:59:23 -0000 1.39
@@ -45,6 +45,9 @@
import org.lamsfoundation.lams.contentrepository.service.RepositoryProxy;
import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials;
import org.lamsfoundation.lams.learning.service.ILearnerService;
+import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException;
+import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService;
+import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.tool.IToolVO;
import org.lamsfoundation.lams.tool.ToolContentManager;
@@ -107,6 +110,8 @@
private ILearnerService learnerService;
private IAuditService auditService;
private ILamsToolService toolService;
+ private IExportToolContentService exportContentService;
+
private IToolContentHandler voteToolContentHandler = null;
public VoteServicePOJO(){}
@@ -1568,7 +1573,30 @@
* @throws ToolException if any other error occurs
*/
- public void exportToolContent(Long toolContentId, String toPath) throws DataMissingException, ToolException {
+ public void exportToolContent(Long toolContentId, String rootPath) throws DataMissingException, ToolException {
+ VoteContent toolContentObj = voteContentDAO.findVoteContentById(toolContentId);
+ if(toolContentObj == null)
+ throw new DataMissingException("Unable to find tool content by given id :" + toolContentId);
+
+ try {
+ //set ToolContentHandler as null to avoid copy file node in repository again.
+ toolContentObj = VoteContent.newInstance(null,toolContentObj,toolContentId);
+
+ //clear unnecessary information attach
+ toolContentObj.setVoteSessions(null);
+ Set ques = toolContentObj.getVoteQueContents();
+ for(VoteQueContent que : ques){
+ que.setMcUsrAttempts(null);
+ }
+ exportContentService.registerFileClassForExport(VoteUploadedFile.class.getName(),"uuid",null);
+ exportContentService.exportToolContent( toolContentId, toolContentObj,voteToolContentHandler, rootPath);
+ } catch (ExportToolContentException e) {
+ throw new ToolException(e);
+ } catch (ItemNotFoundException e) {
+ throw new ToolException(e);
+ } catch (RepositoryCheckedException e) {
+ throw new ToolException(e);
+ }
}
/**
@@ -1577,7 +1605,23 @@
* @throws ToolException if any other error occurs
*/
public void importToolContent(Long toolContentId, Integer newUserUid, String toolContentPath) throws ToolException {
-
+ try {
+ exportContentService.registerFileClassForImport(VoteUploadedFile.class.getName()
+ ,"uuid",null,"filename","fileProperty",null,null);
+
+ Object toolPOJO = exportContentService.importToolContent(toolContentPath,voteToolContentHandler);
+ if(!(toolPOJO instanceof VoteContent))
+ throw new ImportToolContentException("Import Vote tool content failed. Deserialized object is " + toolPOJO);
+ VoteContent toolContentObj = (VoteContent) toolPOJO;
+
+// reset it to new toolContentId
+ toolContentObj.setVoteContentId(toolContentId);
+ toolContentObj.setCreatedBy(newUserUid);
+
+ voteContentDAO.saveVoteContent(toolContentObj);
+ } catch (ImportToolContentException e) {
+ throw new ToolException(e);
+ }
}
/**
@@ -2517,4 +2561,14 @@
public void setAuditService(IAuditService auditService) {
this.auditService = auditService;
}
+
+ public IExportToolContentService getExportContentService() {
+ return exportContentService;
+ }
+
+
+ public void setExportContentService(IExportToolContentService exportContentService) {
+ this.exportContentService = exportContentService;
+ }
+
}