From 24c7a287c6227fdd7af9f9dfd0dd3376d923bf13 Mon Sep 17 00:00:00 2001 From: lukasgol Date: Mon, 21 Apr 2014 18:08:49 +0200 Subject: [PATCH] hibernate --- .gitignore | 3 + src/main/java/Config.java | 18 --- src/main/java/Controller_test.java | 51 --------- src/main/java/application/Config.java | 26 +++++ .../java/{ => application}/jmx/First.java | 2 +- .../{ => application}/jmx/FirstMBean.java | 2 +- src/main/java/application/model/Role.java | 40 +++++++ src/main/java/application/model/User.java | 62 +++++++++++ .../java/application/model/UserLevel.java | 14 +++ .../repositories/RoleRepository.java | 7 ++ .../repositories/UserRepository.java | 7 ++ .../java/{ => application/utils}/Action.java | 2 + .../application/utils/Controller_test.java | 105 ++++++++++++++++++ .../utils/PropertiesSolver.java | 2 +- src/main/resources/Spring-Module.xml | 8 +- src/main/resources/log4j.properties | 7 ++ 16 files changed, 281 insertions(+), 75 deletions(-) delete mode 100644 src/main/java/Config.java delete mode 100644 src/main/java/Controller_test.java create mode 100644 src/main/java/application/Config.java rename src/main/java/{ => application}/jmx/First.java (93%) rename src/main/java/{ => application}/jmx/FirstMBean.java (87%) create mode 100644 src/main/java/application/model/Role.java create mode 100644 src/main/java/application/model/User.java create mode 100644 src/main/java/application/model/UserLevel.java create mode 100644 src/main/java/application/repositories/RoleRepository.java create mode 100644 src/main/java/application/repositories/UserRepository.java rename src/main/java/{ => application/utils}/Action.java (94%) create mode 100644 src/main/java/application/utils/Controller_test.java rename src/main/java/{ => application}/utils/PropertiesSolver.java (96%) create mode 100644 src/main/resources/log4j.properties diff --git a/.gitignore b/.gitignore index baf26f3..f9274ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ ./build ./out +.gradle +/.idea/** +*.iml diff --git a/src/main/java/Config.java b/src/main/java/Config.java deleted file mode 100644 index 3945ef6..0000000 --- a/src/main/java/Config.java +++ /dev/null @@ -1,18 +0,0 @@ -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.ImportResource; -/** - * Created by lukasgol on 01.04.14. - */ -@ComponentScan -@EnableAutoConfiguration -@ImportResource("Spring-Module.xml") -public class Config { - - public static void main(String[] args){ - SpringApplication.run(Config.class, args); - - } - -} \ No newline at end of file diff --git a/src/main/java/Controller_test.java b/src/main/java/Controller_test.java deleted file mode 100644 index 81acbc7..0000000 --- a/src/main/java/Controller_test.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Created by lukasgol on 01.04.14. - */ - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.PropertySource; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import utils.PropertiesSolver; - -@Controller -@PropertySource("app.properties") -public class Controller_test { - - @SuppressWarnings("SpringJavaAutowiringInspection") - @Autowired - PropertiesSolver ps; - @Value("${my.prop}") - String val; - - @RequestMapping("/action") - public - @ResponseBody - String hello(@RequestParam(value = "name", required = false, defaultValue = "empty") String name, - @RequestParam(value = "param", required = false, defaultValue = "empty") String param) { - Action action=new Action(name,param); - return "Action: " + action.getName() + " with parameter: "+action.getParam()+". :-) "; - } - - @RequestMapping("/str") - @ResponseBody - String hello(@RequestParam(value = "action", required = false, defaultValue = "empty") String action) { - return "Just String: "+action; - } - - @RequestMapping("/val") - @ResponseBody - String getVal(@RequestParam(value = "param", required = false, defaultValue = "my.prop") String param){ - String recived_val; - if (param.equals("my.prop"))return "property "+param+" is: "+ val ; - else if((recived_val=ps.getProperty(param))!=null){ - return "property "+param+" is: "+ recived_val; - } - else return "not found"; - } - -} - diff --git a/src/main/java/application/Config.java b/src/main/java/application/Config.java new file mode 100644 index 0000000..e78b4c8 --- /dev/null +++ b/src/main/java/application/Config.java @@ -0,0 +1,26 @@ +package application; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.ImportResource; +import application.repositories.RoleRepository; + +/** + * Created by lukasgol on 01.04.14. + */ +@Configuration +@ComponentScan +@EnableAutoConfiguration +@ImportResource("Spring-Module.xml") +public class Config { + + public static void main(String[] args) { + + ConfigurableApplicationContext context = SpringApplication.run(Config.class, args); + + RoleRepository rr = context.getBean(RoleRepository.class); + System.out.print(rr); + } +} diff --git a/src/main/java/jmx/First.java b/src/main/java/application/jmx/First.java similarity index 93% rename from src/main/java/jmx/First.java rename to src/main/java/application/jmx/First.java index 3f0fe0b..571c20c 100644 --- a/src/main/java/jmx/First.java +++ b/src/main/java/application/jmx/First.java @@ -1,4 +1,4 @@ -package jmx; +package application.jmx; /** * Created by lukasgol on 05.04.14. diff --git a/src/main/java/jmx/FirstMBean.java b/src/main/java/application/jmx/FirstMBean.java similarity index 87% rename from src/main/java/jmx/FirstMBean.java rename to src/main/java/application/jmx/FirstMBean.java index de7008c..8167f22 100644 --- a/src/main/java/jmx/FirstMBean.java +++ b/src/main/java/application/jmx/FirstMBean.java @@ -1,4 +1,4 @@ -package jmx; +package application.jmx; /** * Created by lukasgol on 05.04.14. diff --git a/src/main/java/application/model/Role.java b/src/main/java/application/model/Role.java new file mode 100644 index 0000000..c3a2f9d --- /dev/null +++ b/src/main/java/application/model/Role.java @@ -0,0 +1,40 @@ +package application.model; + +import javax.persistence.*; + +@Entity(name = "role") +public class Role { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @Basic + private String role; + + @Basic + private String password; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/application/model/User.java b/src/main/java/application/model/User.java new file mode 100644 index 0000000..d465174 --- /dev/null +++ b/src/main/java/application/model/User.java @@ -0,0 +1,62 @@ +package application.model; + +import javax.persistence.*; + +@Entity(name = "account") +public class User { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @Basic + private String firstName; + + @Basic + private String lastName; + + @Basic + private String email; + + @Basic + private String role; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String name) { + this.firstName = name; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } +} diff --git a/src/main/java/application/model/UserLevel.java b/src/main/java/application/model/UserLevel.java new file mode 100644 index 0000000..52235f1 --- /dev/null +++ b/src/main/java/application/model/UserLevel.java @@ -0,0 +1,14 @@ +package application.model; + +/** + * Created by Marcin on 2014-04-19. + */ +public class UserLevel { + public java.util.List getItems() { + java.util.List list = new java.util.ArrayList(); + list.add("Head of security"); + list.add("CEO"); + list.add("Cleaner"); + return list; + } +} diff --git a/src/main/java/application/repositories/RoleRepository.java b/src/main/java/application/repositories/RoleRepository.java new file mode 100644 index 0000000..de9546c --- /dev/null +++ b/src/main/java/application/repositories/RoleRepository.java @@ -0,0 +1,7 @@ +package application.repositories; + +import application.model.Role; +import org.springframework.data.repository.CrudRepository; + +public interface RoleRepository extends CrudRepository { +} diff --git a/src/main/java/application/repositories/UserRepository.java b/src/main/java/application/repositories/UserRepository.java new file mode 100644 index 0000000..50ec5d4 --- /dev/null +++ b/src/main/java/application/repositories/UserRepository.java @@ -0,0 +1,7 @@ +package application.repositories; + +import application.model.User; +import org.springframework.data.repository.CrudRepository; + +public interface UserRepository extends CrudRepository { +} diff --git a/src/main/java/Action.java b/src/main/java/application/utils/Action.java similarity index 94% rename from src/main/java/Action.java rename to src/main/java/application/utils/Action.java index 438d215..d170c55 100644 --- a/src/main/java/Action.java +++ b/src/main/java/application/utils/Action.java @@ -1,3 +1,5 @@ +package application.utils; + /** * Created by lukasgol on 02.04.14. */ diff --git a/src/main/java/application/utils/Controller_test.java b/src/main/java/application/utils/Controller_test.java new file mode 100644 index 0000000..f71e011 --- /dev/null +++ b/src/main/java/application/utils/Controller_test.java @@ -0,0 +1,105 @@ +package application.utils; /** + * Created by lukasgol on 01.04.14. + */ + +import application.model.User; +import application.repositories.RoleRepository; +import application.repositories.UserRepository; +import org.apache.log4j.Logger; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +@Controller +@PropertySource("app.properties") +public class Controller_test { + + //application.repositories + @Autowired + private UserRepository userRepository; + @Autowired + private RoleRepository roleRepository; + //end + + @SuppressWarnings("SpringJavaAutowiringInspection") + @Autowired + PropertiesSolver ps; + @Value("${my.prop}") + String val; + + //get log4j handler + private static final Logger logger = Logger.getLogger(Controller_test.class); + + @RequestMapping("/action") + public + @ResponseBody + String hello(@RequestParam(value = "name", required = false, defaultValue = "empty") String name, + @RequestParam(value = "param", required = false, defaultValue = "empty") String param) { + Action action=new Action(name,param); + return "application.utils.Action: " + action.getName() + " with parameter: "+action.getParam()+". :-) "; + } + + @RequestMapping("/str") + @ResponseBody + String hello(@RequestParam(value = "action", required = false, defaultValue = "empty") String action) { + return "Just String: "+action; + } + + @RequestMapping("/val") + @ResponseBody + String getVal(@RequestParam(value = "param", required = false, defaultValue = "my.prop") String param){ + System.out.println("lala"); + if(logger.isDebugEnabled()){ + logger.debug("Property:"+param); + } + String recived_val; + if (param.equals("my.prop"))return "property "+param+" is: "+ val ; + else if((recived_val=ps.getProperty(param))!=null){ + return "property "+param+" is: "+ recived_val; + } + else { + logger.debug("Value:"+recived_val); + return "not found"; + } + } + + + @RequestMapping(value = "/users", method = RequestMethod.GET) + public + @ResponseBody + String listUsersJson(ModelMap model) throws JSONException { + JSONArray userArray = new JSONArray(); + for (User user : userRepository.findAll()) { + JSONObject userJSON = new JSONObject(); + userJSON.put("id", user.getId()); + userJSON.put("firstName", user.getFirstName()); + userJSON.put("lastName", user.getLastName()); + userJSON.put("email", user.getEmail()); + userJSON.put("role", user.getRole()); + userArray.put(userJSON); + } + return userArray.toString(); + } + + @RequestMapping(value = "/adduser", method = RequestMethod.GET) + @ResponseBody public String addUser(@RequestParam String username) { + User user = new User(); + user.setFirstName(username); + user.setEmail("lala@gmail.com"); + userRepository.save(user); + return "saved user: "+user.toString(); + } + + @RequestMapping("/delete/{userId}") + @ResponseBody public String deleteUser(@PathVariable("userId") Long userId) { + userRepository.delete(userRepository.findOne(userId)); + return "deleted user"; + } +} + diff --git a/src/main/java/utils/PropertiesSolver.java b/src/main/java/application/utils/PropertiesSolver.java similarity index 96% rename from src/main/java/utils/PropertiesSolver.java rename to src/main/java/application/utils/PropertiesSolver.java index 74bc63d..07d1195 100644 --- a/src/main/java/utils/PropertiesSolver.java +++ b/src/main/java/application/utils/PropertiesSolver.java @@ -1,4 +1,4 @@ -package utils; +package application.utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/resources/Spring-Module.xml b/src/main/resources/Spring-Module.xml index 04d692a..5780e25 100644 --- a/src/main/resources/Spring-Module.xml +++ b/src/main/resources/Spring-Module.xml @@ -1,9 +1,9 @@ + http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> - + @@ -23,4 +23,6 @@ + + \ No newline at end of file diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties new file mode 100644 index 0000000..0783c25 --- /dev/null +++ b/src/main/resources/log4j.properties @@ -0,0 +1,7 @@ +log4j.rootCategory=INFO, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n + +log4j.category.org.springframework.beans.factory=DEBUG \ No newline at end of file