CaptainManiac999

Untitled

Aug 1st, 2021
1,086
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  public int InitLocalUserData() {
  2.         if (!synchronising) {
  3.             //Try to load it from file, if it is not found reinitialize it as new
  4.             //The pattern is hardcoded, I cannot allow randomness or customisation for this one
  5.             ArrayList< User> TempUserDataLoadList = new ArrayList<>(); //temporary add it into this list
  6.             User TempUser; //use this temporary variable too
  7.             //and those below
  8.             int TempUID;
  9.             String TempUN;
  10.             String TempUPWD;
  11.             String TempFN;
  12.             String TempLN;
  13.             UserAccessLevel TempUC = UserAccessLevel.CLEARANCE_USER; //initialize with default value, later will be changed(meh!)
  14.             LocalDate TempDOC;
  15.             int TempCID = 0;
  16.             LocalDate TempDOLC;
  17.             int TempLCID = 0;
  18.             SystemLogs.info(LocalDataDirectoryPath + LocalUserDataFileName);
  19.             ReadFromFile(LocalDataDirectoryPath, LocalUserDataFileName);
  20.             if (TempFileContent != null && !TempFileContent.equalsIgnoreCase("")) {
  21.                 System.out.println(TempFileContent);
  22.                 String items[] = TempFileContent.split("\n"); //makes an array of lines
  23.                 String values[]; //an array of string values from lines, will be initialized later
  24.                 for (String item : items) {
  25.                     values = item.split(" ");
  26.                     //temporary values again
  27.  
  28.                     for (String val : values) {
  29.                         if (values != null && !val.equalsIgnoreCase("")) {
  30.                             TempUID = Integer.parseInt(values[0]);
  31.                             TempUN = values[1];
  32.                             TempUPWD = values[2];
  33.                             TempFN = values[3];
  34.                             TempLN = values[4];
  35.                             TempUC = UserAccessLevel.valueOf(values[5].toUpperCase());
  36.                             TempDOC = LocalDate.parse(values[6]);
  37.                             TempCID = Integer.parseInt(values[7]);
  38.                             TempDOLC = LocalDate.parse(values[8]);
  39.                             TempLCID = Integer.parseInt(values[9]);
  40.                             TempUser = new User(TempUN, TempUPWD, TempFN, TempLN, TempUC);
  41.                             TempUser.setID(TempUID);
  42.                             TempUser.setDateOfCreation(TempDOC);
  43.                             TempUser.setCreatorID(TempCID);
  44.                             TempUser.setDateOfLastChange(TempDOLC);
  45.                             TempUser.setLastCommitterID(TempLCID);
  46.                             //after all is set add it to the temporary user list
  47.                             TempUserDataLoadList.add(TempUser);
  48.                         }
  49.                     }
  50.                 } //no, it is not Mower, it is Slower
  51.                 //and finally, set the user data to the loaded data list
  52.                 UserData = TempUserDataLoadList;
  53.                 System.out.println("User Data succesfully loaded. \n");
  54.                 return 31;
  55.             } else if (TempFileContent != null && TempFileContent.equalsIgnoreCase("")) {
  56.                 System.err.println("Error: User data is empty. Initializing built-in user data instead.. \n");
  57.                 //Initialize the local user data, requires at least one administrator and one guest account
  58.                 for (User u : UserData) {
  59.                     if (!(u.getUsername().equalsIgnoreCase(GuestUser.getUsername()) && u.getPassword().equalsIgnoreCase(GuestUser.getPassword())) && !(u.getUsername().equalsIgnoreCase(AdminUser.getUsername()) && u.getPassword().equalsIgnoreCase(AdminUser.getPassword()))) {
  60.                         UserData.add(GuestUser);
  61.                         UserData.add(AdminUser);
  62.                     }
  63.                 }
  64.             } else if (TempFileContent == null) {
  65.                 for (User u : UserData) {
  66.                     if (!(u.getUsername().equalsIgnoreCase(GuestUser.getUsername()) && u.getPassword().equalsIgnoreCase(GuestUser.getPassword())) && !(u.getUsername().equalsIgnoreCase(AdminUser.getUsername()) && u.getPassword().equalsIgnoreCase(AdminUser.getPassword()))) {
  67.                         UserData.add(GuestUser);
  68.                         UserData.add(AdminUser);
  69.                     }
  70.                 }
  71.                 System.err.println("Error: User data cannot be loaded. Initializing built-in user data instead... \n");
  72.                 return 29;
  73.             } else {
  74.                 System.err.println("Error: User data cannot be initialized. Cannot proceed... \n");
  75.                 return 28;
  76.             }
  77.  
  78.         }
  79.         return 0;
  80.     }
RAW Paste Data