diff --git a/backend/src/main/java/ovh/herisson/Clyde/RegNoGenerator.java b/backend/src/main/java/ovh/herisson/Clyde/RegNoGenerator.java index c19bc1b..1dc988a 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/RegNoGenerator.java +++ b/backend/src/main/java/ovh/herisson/Clyde/RegNoGenerator.java @@ -10,7 +10,7 @@ import java.util.Date; import java.util.GregorianCalendar; public class RegNoGenerator implements IdentifierGenerator { - private final UserSaveCounter usv = UserSaveCounter.getInstance(); + private static int count = 0; @Override public Object generate(SharedSessionContractImplementor session, Object object) { try{ @@ -19,16 +19,15 @@ public class RegNoGenerator implements IdentifierGenerator { Statement statement = conn.createStatement(); - int n = usv.getCount(); Calendar c = new GregorianCalendar(); int y = c.get(Calendar.YEAR); - String query = "select count(reg_no) + "+n+" from Users where reg_no/10000 = " + y%1000; + String query = "select count(reg_no) + "+count+" from Users where reg_no/10000 = " + y%1000; ResultSet set = statement.executeQuery(query); long resp = 0; if(set.next()){ resp = set.getLong(1)+((y%1000)*10000); - usv.increment(); + count += 1; } conn.close(); @@ -40,4 +39,8 @@ public class RegNoGenerator implements IdentifierGenerator { throw new RuntimeException(e); } } + + public static void resetCount(){ + count = 0; + } } diff --git a/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java b/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java index ef1ce1c..56aa23e 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Services/UserService.java @@ -2,10 +2,10 @@ package ovh.herisson.Clyde.Services; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; +import ovh.herisson.Clyde.RegNoGenerator; import ovh.herisson.Clyde.Repositories.UserRepository; import ovh.herisson.Clyde.Tables.Role; import ovh.herisson.Clyde.Tables.User; -import ovh.herisson.Clyde.UserSaveCounter; import java.util.*; @@ -13,7 +13,6 @@ import java.util.*; public class UserService { private final UserRepository userRepo; private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - private final UserSaveCounter usc = UserSaveCounter.getInstance(); public UserService(UserRepository userRepo){ this.userRepo = userRepo; } @@ -108,17 +107,17 @@ public class UserService { } public User save(User user){ - usc.reset(); + RegNoGenerator.resetCount(); user.setPassword(passwordEncoder.encode(user.getPassword())); return userRepo.save(user); } public void saveAll(ArrayList list){ //S'assure que le compteur est bien a 0 - usc.reset(); + RegNoGenerator.resetCount(); userRepo.saveAll(list); //Reset le compteur a zero pour les futurs ajouts - usc.reset(); + RegNoGenerator.resetCount(); } public Iterable getAll(){ diff --git a/backend/src/main/java/ovh/herisson/Clyde/UserSaveCounter.java b/backend/src/main/java/ovh/herisson/Clyde/UserSaveCounter.java deleted file mode 100644 index 3a8f696..0000000 --- a/backend/src/main/java/ovh/herisson/Clyde/UserSaveCounter.java +++ /dev/null @@ -1,25 +0,0 @@ -package ovh.herisson.Clyde; - -public final class UserSaveCounter { - private static UserSaveCounter instance; - private int count = 0; - - public void increment() { - this.count+=1; - } - - public int getCount() { - return count; - } - - public void reset(){ - this.count = 0; - } - public static UserSaveCounter getInstance(){ - if (instance == null){ - instance = new UserSaveCounter(); - return instance; - } - return instance; - } -}