Skip to content

fixing Bug 1793 #76

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,5 @@ wiki/wiki-jar/Test de base/
/webpages/webpages-war/src/main/webapp/META-INF

/websites/websites-war/src/main/webapp/META-INF
/websites/websites-ejb/src/main/resources/META-INF/MANIFEST.MF
/websites/websites-ejb/src/main/resources/META-INF/MANIFEST.MF
/quizz/quizz-war/src/main/webapp/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,27 @@

package com.stratelia.webactiv.quizz;

import java.util.*;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import com.stratelia.silverpeas.contentManager.*;
import com.stratelia.silverpeas.silvertrace.SilverTrace;
import javax.ejb.EJBException;

import com.stratelia.webactiv.util.*;
import com.stratelia.webactiv.util.questionContainer.control.QuestionContainerBmHome;
import com.stratelia.silverpeas.contentManager.ContentInterface;
import com.stratelia.silverpeas.contentManager.ContentManager;
import com.stratelia.silverpeas.contentManager.ContentManagerException;
import com.stratelia.silverpeas.contentManager.SilverContentInterface;
import com.stratelia.silverpeas.silvertrace.SilverTrace;
import com.stratelia.webactiv.util.EJBUtilitaire;
import com.stratelia.webactiv.util.JNDINames;
import com.stratelia.webactiv.util.questionContainer.control.QuestionContainerBm;
import com.stratelia.webactiv.util.questionContainer.control.QuestionContainerBmHome;
import com.stratelia.webactiv.util.questionContainer.model.QuestionContainerHeader;
import com.stratelia.webactiv.util.questionContainer.model.QuestionContainerPK;

import javax.ejb.EJBException;

/**
* The kmelia implementation of ContentInterface.
* The Quizz implementation of ContentInterface.
*/
public class QuizzContentManager implements ContentInterface {

Expand All @@ -54,10 +59,11 @@ public class QuizzContentManager implements ContentInterface {
* @param userRoles the roles of the user
* @return a List of SilverContent
*/
public List getSilverContentById(List ids, String peasId, String userId,
List userRoles) {
if (getContentManager() == null)
return new ArrayList();
public List getSilverContentById(List<Integer> ids, String peasId, String userId,
List<String> userRoles) {
if (getContentManager() == null) {
return new ArrayList<SilverContentInterface>();
}

return getHeaders(makePKArray(ids, peasId));
}
Expand All @@ -68,14 +74,13 @@ public List getSilverContentById(List ids, String peasId, String userId,
* @param peasId the id of the instance
* @return a list of publicationPK
*/
private ArrayList makePKArray(List idList, String peasId) {
ArrayList pks = new ArrayList();
private List<QuestionContainerPK> makePKArray(List<Integer> idList, String peasId) {
List<QuestionContainerPK> pks = new ArrayList<QuestionContainerPK>();
QuestionContainerPK qcPK = null;
Iterator iter = idList.iterator();
String id = null;
// for each silverContentId, we get the corresponding publicationId
while (iter.hasNext()) {
int contentId = ((Integer) iter.next()).intValue();
for (Integer curId : idList) {
int contentId = curId.intValue();
try {
id = getContentManager().getInternalContentId(contentId);
qcPK = new QuestionContainerPK(id, "useless", peasId);
Expand All @@ -94,14 +99,12 @@ private ArrayList makePKArray(List idList, String peasId) {
* @param ids a list of publicationPK
* @return a list of publicationDetail
*/
private List getHeaders(List ids) {
QuestionContainerHeader containerHeader = null;
ArrayList headers = new ArrayList();
private List getHeaders(List<QuestionContainerPK> ids) {
List<QuestionContainerHeader> headers = new ArrayList<QuestionContainerHeader>();
try {
ArrayList questionHeaders = (ArrayList) getQuestionBm()
.getQuestionContainerHeaders((ArrayList) ids);
for (int i = 0; i < questionHeaders.size(); i++) {
containerHeader = (QuestionContainerHeader) questionHeaders.get(i);
Collection<QuestionContainerHeader> questionHeaders =
getQuestionBm().getQuestionContainerHeaders(ids);
for (QuestionContainerHeader containerHeader : questionHeaders) {
containerHeader.setIconUrl("quizzSmall.gif");
headers.add(containerHeader);
}
Expand All @@ -116,19 +119,22 @@ private ContentManager getContentManager() {
try {
contentManager = new ContentManager();
} catch (Exception e) {
SilverTrace.fatal("quizz", "QuizzContentManager",
"root.EX_UNKNOWN_CONTENT_MANAGER", e);
SilverTrace.fatal("quizz", "QuizzContentManager", "root.EX_UNKNOWN_CONTENT_MANAGER", e);
}
}
return contentManager;
}

/**
*
* @return a question container bean manager
*/
private QuestionContainerBm getQuestionBm() {
if (questionContainerBm == null) {
try {
QuestionContainerBmHome questionContainerBmHome = (QuestionContainerBmHome) EJBUtilitaire
.getEJBObjectRef(JNDINames.QUESTIONCONTAINERBM_EJBHOME,
QuestionContainerBmHome.class);
QuestionContainerBmHome.class);

this.questionContainerBm = questionContainerBmHome.create();
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
*/
public class QuizzException extends SilverpeasException {

private static final long serialVersionUID = 467071564348332518L;

// constructors
/**
* Constructor which calls the super constructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@

package com.stratelia.webactiv.quizz;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.ejb.EJBException;

import com.silverpeas.silverstatistics.ComponentStatisticsInterface;
import com.silverpeas.silverstatistics.UserIdCountVolumeCouple;
Expand All @@ -37,14 +42,8 @@
import com.stratelia.webactiv.util.questionContainer.model.QuestionContainerHeader;
import com.stratelia.webactiv.util.questionContainer.model.QuestionContainerPK;

import javax.ejb.EJBException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
* Class declaration
*
* @author
*/
public class QuizzStatistics implements ComponentStatisticsInterface {
Expand All @@ -55,7 +54,8 @@ public class QuizzStatistics implements ComponentStatisticsInterface {
public Collection<UserIdCountVolumeCouple> getVolume(String spaceId, String componentId)
throws Exception {
Collection<QuestionContainerHeader> headers = getQuizz(spaceId, componentId);
List<UserIdCountVolumeCouple> myArrayList = new ArrayList(headers.size());
List<UserIdCountVolumeCouple> myArrayList =
new ArrayList<UserIdCountVolumeCouple>(headers.size());
for (QuestionContainerHeader qcHeader : headers) {
UserIdCountVolumeCouple myCouple = new UserIdCountVolumeCouple();
myCouple.setUserId(qcHeader.getCreatorId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@
*/
package com.stratelia.webactiv.quizz;

import com.silverpeas.util.StringUtil;
import com.silverpeas.util.web.servlet.FileUploadUtil;
import com.stratelia.webactiv.quizz.control.QuizzSessionController;
import com.stratelia.webactiv.util.FileRepositoryManager;
import com.stratelia.webactiv.util.answer.model.Answer;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.fileupload.FileItem;

import com.silverpeas.util.StringUtil;
import com.silverpeas.util.web.servlet.FileUploadUtil;
import com.stratelia.webactiv.util.FileRepositoryManager;
import com.stratelia.webactiv.util.answer.model.Answer;

/**
* @author ehugonnet
*/
Expand All @@ -51,8 +51,8 @@ public static boolean isCorrectFile(FileItem filePart) {
boolean correctFile = false;
if (fileName != null) {
String logicalName = fileName.trim();
if ((logicalName != null) && (logicalName.length() >= 3) && (logicalName.indexOf(".") != -1)) {
String type = logicalName.substring(logicalName.indexOf(".") + 1, logicalName.length());
if ((logicalName != null) && (logicalName.length() >= 3) && (logicalName.indexOf('.') != -1)) {
String type = logicalName.substring(logicalName.indexOf('.') + 1, logicalName.length());
if (type.length() >= 3) {
correctFile = true;
}
Expand All @@ -61,21 +61,19 @@ public static boolean isCorrectFile(FileItem filePart) {
return correctFile;
}

public static List<Answer> extractAnswer(List<FileItem> items,
QuestionForm form, String componentId, String subdir) throws IOException {
public static List<Answer> extractAnswer(List<FileItem> items, QuestionForm form,
String componentId, String subdir) throws IOException {
List<Answer> answers = new ArrayList<Answer>();
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
for (FileItem item : items) {
String mpName = item.getFieldName();
if (item.isFormField() && mpName.startsWith("answer")) {
String answerInput = FileUploadUtil.getOldParameter(items, mpName, "");
Answer answer = new Answer(null, null, answerInput, 0, false, null,
0, false, null, null);
String id = mpName.substring("answer".length());
String nbPoints = FileUploadUtil.getOldParameter(items, "nbPoints" + id, "0");
answer.setNbPoints(new Integer(nbPoints).intValue());
if (new Integer(nbPoints).intValue() > 0) {
answer.setNbPoints(Integer.parseInt(nbPoints));
if (Integer.parseInt(nbPoints) > 0) {
answer.setIsSolution(true);
}
String comment = FileUploadUtil.getOldParameter(items, "comment" + id, "");
Expand Down Expand Up @@ -103,9 +101,9 @@ protected static void addImageToAnswer(Answer answer, FileItem item,
if (QuestionHelper.isCorrectFile(item)) {
// the part actually contained a file
String logicalName = FileUploadUtil.getFileName(item);
String type = logicalName.substring(logicalName.indexOf(".") + 1, logicalName.length());
String type = logicalName.substring(logicalName.indexOf('.') + 1, logicalName.length());
String physicalName =
new Long(new Date().getTime()).toString() + form.getAttachmentSuffix() + "." + type;
Long.valueOf(new Date().getTime()).toString() + form.getAttachmentSuffix() + "." + type;
form.setAttachmentSuffix(form.getAttachmentSuffix() + 1);
File dir =
new File(FileRepositoryManager.getAbsolutePath(componentId) + subdir + File.separator +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
package com.stratelia.webactiv.quizz;

import java.util.Collection;
import java.util.Iterator;

import com.stratelia.silverpeas.peasCore.ComponentContext;
import com.stratelia.silverpeas.peasCore.MainSessionController;
Expand All @@ -37,15 +36,12 @@ public class QuizzIndexer implements ComponentIndexerInterface {

private QuizzSessionController scc = null;

public void index(MainSessionController mainSessionCtrl,
ComponentContext context) throws QuizzException {
public void index(MainSessionController mainSessionCtrl, ComponentContext context)
throws QuizzException {
try {
scc = new QuizzSessionController(mainSessionCtrl, context);
Collection quizzes = scc.getAdminQuizzList();
Iterator itQ = quizzes.iterator();
while (itQ.hasNext()) {
QuestionContainerHeader quizzHeader = (QuestionContainerHeader) itQ
.next();
Collection<QuestionContainerHeader> quizzes = scc.getAdminQuizzList();
for (QuestionContainerHeader quizzHeader : quizzes) {
scc.updateQuizzHeader(quizzHeader, quizzHeader.getPK().getId());
}
} catch (Exception e) {
Expand Down
Loading