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

Reply via email to