Commit | Line | Data |
---|---|---|
6f43ba4a MS |
1 | package org.ufcspa.simdecs.session.crud.admin; |
2 | ||
69e26a06 MS |
3 | import java.io.ByteArrayInputStream; |
4 | import java.util.ArrayList; | |
5 | ||
6 | import javax.persistence.EntityManager; | |
7 | ||
8 | import org.jboss.seam.annotations.In; | |
9 | import org.jboss.seam.annotations.Logger; | |
6f43ba4a MS |
10 | import org.jboss.seam.annotations.Name; |
11 | import org.jboss.seam.annotations.Begin; | |
12 | import org.jboss.seam.annotations.web.RequestParameter; | |
69e26a06 | 13 | import org.jboss.seam.log.Log; |
6f43ba4a MS |
14 | |
15 | import org.ufcspa.simdecs.entities.ArquivoRede; | |
69e26a06 MS |
16 | import org.ufcspa.simdecs.entities.BayesianNetworkParser; |
17 | import org.ufcspa.simdecs.entities.Nodo; | |
18 | import org.ufcspa.simdecs.entities.Rede; | |
19 | import org.ufcspa.simdecs.session.crud.defaults.SimDeCSEntityHome; | |
6f43ba4a MS |
20 | |
21 | @Name("arquivoRedeHome") | |
69e26a06 | 22 | public class ArquivoRedeHome extends SimDeCSEntityHome<ArquivoRede> |
6f43ba4a | 23 | { |
69e26a06 | 24 | private static final long serialVersionUID = 1L; |
6f43ba4a | 25 | |
69e26a06 MS |
26 | @Logger private Log log; |
27 | @In | |
28 | private EntityManager entityManager; | |
29 | ||
30 | @RequestParameter Long arquivoRedeId; | |
31 | ||
6f43ba4a MS |
32 | @Override |
33 | public Object getId() | |
34 | { | |
35 | if (arquivoRedeId == null) | |
36 | { | |
37 | return super.getId(); | |
38 | } | |
39 | else | |
40 | { | |
41 | return arquivoRedeId; | |
42 | } | |
43 | } | |
44 | ||
45 | @Override @Begin | |
46 | public void create() { | |
47 | super.create(); | |
48 | } | |
69e26a06 MS |
49 | |
50 | public void saveNetwork() throws Exception { | |
51 | BayesianNetworkParser parser = new BayesianNetworkParser(); | |
52 | parser.parseBayesianNetwork(new ByteArrayInputStream(super.getInstance().getData())); | |
53 | String name = parser.getBayesianNetworkName(); | |
54 | ArrayList<String> nodes = parser.getBayesianNetworkNodes(); | |
55 | log.info(name + ": " + nodes); | |
56 | ||
57 | Rede rede = new Rede(); | |
58 | rede.setNome(name); | |
59 | rede.setArquivo(super.getInstance()); | |
60 | entityManager.persist(rede); | |
61 | ||
62 | for (int i = 0; i < nodes.size(); i++){ | |
63 | Nodo nodo = new Nodo(); | |
64 | nodo.setNome(nodes.get(i)); | |
65 | nodo.setRede(rede); | |
66 | entityManager.persist(nodo); | |
67 | } | |
68 | ||
69 | super.persist(); | |
70 | } | |
6f43ba4a MS |
71 | |
72 | } |