Update of
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
In directory
james.mmbase.org:/tmp/cvs-serv1748/src/java/com/finalist/cmsc/community/forms
Modified Files:
Tag: b1_5
ReferenceImportExportAction.java
Log Message:
CMSC-1265 Community: improve import and export options of community users
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
See also: http://www.mmbase.org/jira/browse/CMSC-1265
Index: ReferenceImportExportAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms/ReferenceImportExportAction.java,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -b -r1.7.2.1 -r1.7.2.2
--- ReferenceImportExportAction.java 23 Feb 2009 15:34:21 -0000 1.7.2.1
+++ ReferenceImportExportAction.java 3 Mar 2009 06:29:49 -0000 1.7.2.2
@@ -27,6 +27,7 @@
import org.supercsv.cellprocessor.constraint.NotNull;
import org.supercsv.cellprocessor.constraint.StrRegEx;
import org.supercsv.cellprocessor.ift.CellProcessor;
+import org.supercsv.exception.SuperCSVException;
import org.supercsv.exception.SuperCSVReflectionException;
import org.supercsv.io.CsvBeanReader;
import org.supercsv.io.CsvBeanWriter;
@@ -192,9 +193,10 @@
String level = myForm.getLevel();
ActionMessages messages = new ActionMessages();
if (!isXML && !isCSV) {
- messages.add("file", new ActionMessage("datafile.unsupport"));
- saveMessages(request, messages);
+// messages.add("invalidMessage", new
ActionMessage("datafile.unsupport"));
+// saveMessages(request, messages);
request.setAttribute("warning", 1);
+ request.setAttribute("invalidMessage", "datafile.unsupport");
return mapping.findForward("failed");
}
@@ -204,10 +206,11 @@
request.setAttribute("confirm_userNum", size);
} catch (Exception e) {
log.error(e);
- messages.add("file", new ActionMessage("datafile.invalid"));
- saveMessages(request, messages);
+// messages.add("invalidMessage", new
ActionMessage("datafile.invalid"));
+// saveMessages(request, messages);
request.setAttribute("warning", 1);
request.setAttribute("groupId", groupId);
+ request.setAttribute("invalidMessage", "datafile.invalid");
return mapping.findForward("failed");
}
} else if (isCSV) {
@@ -221,20 +224,29 @@
header = inFile.getCSVHeader(true);
}
Map<String, PersonExportImportVO> personVOMap =
fillPersonVO(groupId, inFile, header);
+ if(personVOMap == null) {
+// messages.add("invalidMessage", new
ActionMessage("datafile.invalid.data"));
+// saveMessages(request, messages);
+ request.setAttribute("warning", 1);
+ request.setAttribute("groupId", groupId);
+ request.setAttribute("invalidMessage", "datafile.invalid.data");
+ return mapping.findForward("failed");
+ }
if ("clean".equals(level)) {
batchCleanRecord();
}
Iterator<String> it = personVOMap.keySet().iterator();
while (it.hasNext()) {
- personService.addRelationRecord(level,
personVOMap.get(it.next()));
+ personService.ImportDataFromFileRecord(level,
personVOMap.get(it.next()));
}
request.setAttribute("confirm_userNum", personVOMap.size());
} catch (Exception e) {
log.error(e);
- messages.add("file", new ActionMessage("datafile.invalid"));
- saveMessages(request, messages);
+// messages.add("invalidMessage", new
ActionMessage("datafile.invalid"));
+// saveMessages(request, messages);
request.setAttribute("warning", 1);
request.setAttribute("groupId", groupId);
+ request.setAttribute("invalidMessage", "datafile.invalid");
return mapping.findForward("failed");
} finally {
inFile.close();
@@ -248,6 +260,9 @@
CommunityExportForCsvVO communityVO;
Map<String, PersonExportImportVO> personVOMap = new HashMap<String,
PersonExportImportVO>();
while ((communityVO = inFile.read(CommunityExportForCsvVO.class, header,
userProcessors)) != null) {
+ if(StringUtils.isEmpty(communityVO.getAuthenticationUserId()) ||
StringUtils.isEmpty(communityVO.getAuthenticationPassword()) ||
StringUtils.isEmpty(communityVO.getEmail())) {
+ return null;
+ }
PersonExportImportVO personExImVO = new PersonExportImportVO();
Authentication auth = new Authentication();
List<Preference> preferences = new ArrayList<Preference>();
@@ -267,7 +282,7 @@
personExImVO.setInfix(communityVO.getInfix());
personExImVO.setEmail(communityVO.getEmail());
personExImVO.setRegisterDate(new Date(System.currentTimeMillis()));
- if (null != communityVO.getActive()) {
+ if (StringUtils.isNotBlank(communityVO.getActive())) {
personExImVO.setActive(communityVO.getActive());
} else {
personExImVO.setActive("active");
@@ -339,4 +354,15 @@
public static Log getLog() {
return log;
}
+ private boolean isCorretFile(ICsvBeanReader inFile , String[] header)
throws SuperCSVReflectionException, SuperCSVException, IOException{
+ CommunityExportForCsvVO communityVO;
+ boolean isCorrectFile = true;
+ while ((communityVO = inFile.read(CommunityExportForCsvVO.class, header,
userProcessors)) != null) {
+ if(StringUtils.isEmpty(communityVO.getAuthenticationUserId()) ||
StringUtils.isEmpty(communityVO.getAuthenticationPassword()) ||
StringUtils.isEmpty(communityVO.getEmail())) {
+ isCorrectFile = false;
+ break;
+ }
+ }
+ return isCorrectFile;
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs