get methods should be quicker than loops, new thread avoids waiting for datamapper insert
This commit is contained in:
		
							parent
							
								
									511eb0e492
								
							
						
					
					
						commit
						296be21753
					
				@ -266,6 +266,7 @@ public class Datahandler {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //synchronized
 | 
				
			||||||
    public synchronized void updateMatrixes() {
 | 
					    public synchronized void updateMatrixes() {
 | 
				
			||||||
        refreshMatrixFromDB = false;
 | 
					        refreshMatrixFromDB = false;
 | 
				
			||||||
        if (stopwatch1.elapsed(TimeUnit.SECONDS) >= EXPIRE_TIME_IN_SECONDS1) {
 | 
					        if (stopwatch1.elapsed(TimeUnit.SECONDS) >= EXPIRE_TIME_IN_SECONDS1) {
 | 
				
			||||||
@ -280,14 +281,8 @@ public class Datahandler {
 | 
				
			|||||||
            LinkedHashMap<String, LinkedHashMap<String, Double>> LHMSMXLocal = lHMSMX;
 | 
					            LinkedHashMap<String, LinkedHashMap<String, Double>> LHMSMXLocal = lHMSMX;
 | 
				
			||||||
            int ij2 = 0;
 | 
					            int ij2 = 0;
 | 
				
			||||||
            for (String str : stringCachelocal.values()) {
 | 
					            for (String str : stringCachelocal.values()) {
 | 
				
			||||||
                boolean updatepresent = false;
 | 
					                LinkedHashMap<String, Double> orDefault = LHMSMXLocal.getOrDefault(str, null);
 | 
				
			||||||
                for (String strlocal : LHMSMXLocal.keySet()) {
 | 
					                if (orDefault == null) {
 | 
				
			||||||
                    if (strlocal.equals(str)) {
 | 
					 | 
				
			||||||
                        updatepresent = true;
 | 
					 | 
				
			||||||
                        break;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                if (!updatepresent) {
 | 
					 | 
				
			||||||
                    selectUpdate = ij2;
 | 
					                    selectUpdate = ij2;
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -308,25 +303,17 @@ public class Datahandler {
 | 
				
			|||||||
                boolean present = false;
 | 
					                boolean present = false;
 | 
				
			||||||
                LinkedHashMap<String, Double> orDefault = lHMSMX.getOrDefault(getStringCacheStr, null);
 | 
					                LinkedHashMap<String, Double> orDefault = lHMSMX.getOrDefault(getStringCacheStr, null);
 | 
				
			||||||
                if (orDefault != null) {
 | 
					                if (orDefault != null) {
 | 
				
			||||||
                    Iterator<String> strDefaultsItr = orDefault.keySet().iterator();
 | 
					                    Double orDefault1 = orDefault.getOrDefault(str1, null);
 | 
				
			||||||
                    while (strDefaultsItr.hasNext()) {
 | 
					                    if (orDefault1 != null) {
 | 
				
			||||||
                        String strkey = strDefaultsItr.next();
 | 
					 | 
				
			||||||
                        if (strkey.equals(str1)) {
 | 
					 | 
				
			||||||
                        present = true;
 | 
					                        present = true;
 | 
				
			||||||
                            break;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (!present) {
 | 
					                if (!present) {
 | 
				
			||||||
                    orDefault = lHMSMX.getOrDefault(str1, null);
 | 
					                    orDefault = lHMSMX.getOrDefault(str1, null);
 | 
				
			||||||
                    if (orDefault != null) {
 | 
					                    if (orDefault != null) {
 | 
				
			||||||
                        Iterator<String> strDefaultsItr = orDefault.keySet().iterator();
 | 
					                        Double orDefault1 = orDefault.getOrDefault(getStringCacheStr, null);
 | 
				
			||||||
                        while (strDefaultsItr.hasNext()) {
 | 
					                        if (orDefault1 != null) {
 | 
				
			||||||
                            String strkey = strDefaultsItr.next();
 | 
					 | 
				
			||||||
                            if (strkey.equals(getStringCacheStr)) {
 | 
					 | 
				
			||||||
                            present = true;
 | 
					                            present = true;
 | 
				
			||||||
                                break;
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -360,6 +347,7 @@ public class Datahandler {
 | 
				
			|||||||
                    matrixUpdateList.put(matrixUpdateList.size() + 1, SMX);
 | 
					                    matrixUpdateList.put(matrixUpdateList.size() + 1, SMX);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					            new Thread(() -> {
 | 
				
			||||||
                try {
 | 
					                try {
 | 
				
			||||||
                    if (!matrixUpdateList.isEmpty()) {
 | 
					                    if (!matrixUpdateList.isEmpty()) {
 | 
				
			||||||
                        DataMapper.insertSementicMatrixes(matrixUpdateList);
 | 
					                        DataMapper.insertSementicMatrixes(matrixUpdateList);
 | 
				
			||||||
@ -369,7 +357,9 @@ public class Datahandler {
 | 
				
			|||||||
                    Logger.getLogger(Datahandler.class
 | 
					                    Logger.getLogger(Datahandler.class
 | 
				
			||||||
                            .getName()).log(Level.SEVERE, null, ex);
 | 
					                            .getName()).log(Level.SEVERE, null, ex);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            }).start();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public synchronized void checkIfUpdateStrings(boolean hlStatsMsg) throws CustomError {
 | 
					    public synchronized void checkIfUpdateStrings(boolean hlStatsMsg) throws CustomError {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user