code: private List<Row> createWorkPatternAssignmentRowList(String workPatterns) throws ParseException
     {
        List<Row> list = new ArrayList<Row>();
        String[] patterns = workPatterns.split(",|:");
        int index = 1;
        while (index < patterns.length)
        {
           Integer workPattern = Integer.valueOf(patterns[index + 1]);
           Date startDate = DatatypeConverter.parseBasicTimestamp(patterns[index + 3]);
           Date endDate = DatatypeConverter.parseBasicTimestamp(patterns[index + 4]);
  
           Map<String, Object> map = new HashMap<String, Object>();
           map.put("WORK_PATTERN", workPattern);
           map.put("START_DATE", startDate);
           map.put("END_DATE", endDate);
  
           list.add(new MapRow(map));
  
           index += 5;
        }
  
        return list;
     }
docs: Extract a list of work pattern assignments.
  
  @param workPatterns string representation of work pattern assignments
  @return list of work pattern assignment rows