Repository navigation
Expand file tree
/
Copy pathgolden_dataset_3cases.json
More file actions
83 lines (83 loc) · 4.42 KB
/
Copy pathgolden_dataset_3cases.json
File metadata and controls
83 lines (83 loc) · 4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[
{
"name": "cas1",
"description": "EJB ClientServiceBean",
"javaCode": "import java.sql.Connection;\nimport java.sql.PreparedStatement;\nimport java.sql.ResultSet;\nimport java.sql.SQLException;\nimport javax.sql.DataSource;\n\npublic class ClientServiceBean implements ClientService {\n private static final Logger log = Logger.getLogger(ClientServiceBean.class);\n private DataSource dataSource;\n\n public Client findClientByCode(String codeClient) throws ServiceException {\n Connection conn = null;\n PreparedStatement ps = null;\n ResultSet rs = null;\n try {\n conn = dataSource.getConnection();\n ps = conn.prepareStatement(\n \"SELECT CLI_ID, CLI_NOM FROM T_CLIENT WHERE CLI_CODE = ? AND CLI_STATUT != 'S'\");\n ps.setString(1, codeClient);\n rs = ps.executeQuery();\n if (rs.next()) {\n Client client = new Client();\n client.setId(rs.getLong(\"CLI_ID\"));\n return client;\n }\n } catch (SQLException e) {\n log.error(\"Erreur\", e);\n throw new ServiceException(\"Erreur base de donnees\", e);\n } finally {\n try { if (rs != null) rs.close(); } catch (SQLException e) { log.warn(e); }\n try { if (ps != null) ps.close(); } catch (SQLException e) { log.warn(e); }\n try { if (conn != null) conn.close(); } catch (SQLException e) { log.warn(e); }\n }\n return null;\n }\n}",
"expectedDependencies": [
"Connection",
"PreparedStatement",
"ResultSet",
"DataSource",
"Client",
"ServiceException",
"Logger"
],
"expectedRiskKeywords": [
"ressource",
"finally",
"warn",
"try-with-resources",
"fuite",
"dette",
"SQLException"
],
"expectedResponsibilities": [
"client",
"base de données",
"connexion",
"code"
]
},
{
"name": "cas2",
"description": "Struts CommandeAction",
"javaCode": "import org.apache.struts.action.Action;\nimport org.apache.struts.action.ActionForm;\nimport org.apache.struts.action.ActionForward;\nimport org.apache.struts.action.ActionMapping;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\n\npublic class CommandeAction extends Action {\n private CommandeService commandeService;\n\n public ActionForward execute(ActionMapping mapping, ActionForm form,\n HttpServletRequest request, HttpServletResponse response) {\n CommandeForm commandeForm = (CommandeForm) form;\n try {\n Commande commande = commandeService.creerCommande(commandeForm.getClientId());\n request.setAttribute(\"commande\", commande);\n return mapping.findForward(\"success\");\n } catch (Exception e) {\n request.setAttribute(\"erreur\", e.getMessage());\n return mapping.findForward(\"error\");\n }\n }\n}",
"expectedDependencies": [
"Action",
"ActionForm",
"ActionForward",
"ActionMapping",
"HttpServletRequest",
"HttpServletResponse",
"CommandeService",
"Commande"
],
"expectedRiskKeywords": [
"struts",
"couplage",
"servlet",
"exception",
"migration",
"spring",
"mvc"
],
"expectedResponsibilities": [
"commande",
"action",
"formulaire",
"navigation"
]
},
{
"name": "cas3",
"description": "Singleton ConfigurationManager",
"javaCode": "public class ConfigurationManager {\n private static ConfigurationManager instance;\n private static final Map<String, String> config = new HashMap<>();\n\n private ConfigurationManager() {}\n\n public static ConfigurationManager getInstance() {\n if (instance == null) {\n instance = new ConfigurationManager();\n }\n return instance;\n }\n\n public String get(String key) { return config.get(key); }\n public void set(String key, String value) { config.put(key, value); }\n}",
"expectedDependencies": [
"Map",
"HashMap"
],
"expectedRiskKeywords": [
"singleton",
"thread",
"synchroni",
"concurren",
"état partagé",
"instance"
],
"expectedResponsibilities": [
"configuration",
"clé",
"valeur"
]
}
]