View Javadoc

1   package de.tivsource.page.install;
2   
3   import java.io.BufferedReader;
4   import java.io.IOException;
5   import java.io.InputStream;
6   import java.io.InputStreamReader;
7   import java.text.ParseException;
8   import java.text.SimpleDateFormat;
9   import java.util.Date;
10  import java.util.logging.Logger;
11  
12  import de.tivsource.page.dao.administration.RoleDaoLocal;
13  import de.tivsource.page.entity.administration.Role;
14  
15  public class CreateRole {
16  
17  	private static final Logger LOGGER = Logger.getLogger("INFO");
18  	
19      private RoleDaoLocal roleDaoLocal;
20  
21      public void setRoleDaoLocal(RoleDaoLocal roleDaoLocal) {
22              this.roleDaoLocal = roleDaoLocal;
23      }
24  
25      public void generate() {
26      	LOGGER.info("generate() aufgerufen.");
27  
28      	InputStream inputStream = CreateRole.class
29      			.getClassLoader()
30      			.getResourceAsStream("csv/role.csv");
31      	
32      	BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
33  
34      	try {
35      		String line = null;
36      		while ((line = in.readLine()) != null) {
37      			if (!line.startsWith("[Format Definition]")) {
38      				Role role = convert(line);
39      				roleDaoLocal.merge(role);
40      			}
41      		}
42      	} catch (IOException e) {
43      		e.printStackTrace();
44      	}
45  
46      }// Ende generate()
47  
48      private Role convert(String line) {
49          // Zerlege CSV-Zeile in String-Array.
50          String[] items = line.split("\\|");
51  
52          Role role = new Role();
53          role.setUuid(items[0]);
54          role.setTechnical(items[1]);
55          role.setCreated(convertDateString(items[2]));
56          role.setModified(convertDateString(items[3]));
57          role.setModifiedBy(items[4]);
58          role.setModifiedAddress(items[5]);
59  
60          return role;
61      }
62  
63      /**
64       * Methode zum Konvertieren eines Strings des Formates "1970-12-01 23:59:59" in ein Date-Object. 
65       * @param dateString
66       * @return
67       */
68      private Date convertDateString(String dateString) {
69          SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
70          try {
71              return simpleDateFormat.parse(dateString);
72          } catch (ParseException e) {
73              return new Date();
74          }
75      }
76  
77  }// Ende class