package org.helioviewer.plugins.eveplugin.radio.data;

public class RequestForDataBuffer {
    private RequestConfig data1;
    private RequestConfig data2;

    private boolean useData1;
    private boolean newData;
    private boolean extraData;

    public RequestForDataBuffer() {
        useData1 = true;
        newData = false;
        extraData = false;
    }

    public void addRequestConfig(RequestConfig data) {
        synchronized (this) {
            if (!newData) {
                if (useData1) {
                    data1 = data;
                } else {
                    data2 = data;
                }
                newData = true;
            } else {
                if (useData1) {
                    data2 = data;
                } else {
                    data1 = data;
                }
                extraData = true;
            }
        }
    }

    public RequestConfig getData() {
        synchronized (this) {
            if (extraData) {
                if (useData1) {
                    extraData = false;
                    useData1 = false;
                    return data1;
                } else {
                    extraData = false;
                    useData1 = true;
                    return data2;
                }
            } else {
                if (newData) {
                    newData = false;
                    if (useData1) {
                        return data1;
                    } else {
                        return data2;
                    }
                } else {
                    return null;
                }
            }
        }
    }

    public boolean hasData() {
        //synchronized (this) {
            return newData;
        //}
    }
}

@@ -421,42 +421,8 @@
 ) %7B%0A
-        synchronized (this) %7B%0A    
     
@@ -445,36 +445,32 @@
 ) %7B%0A            
- 
-   
 if (useData1) %7B%0A
@@ -477,36 +477,32 @@
                 
-    
 data1 = data;%0A  
@@ -503,36 +503,32 @@
 ta;%0A            
-  
-  
 %7D else %7B%0A       
@@ -512,36 +512,32 @@
        %7D else %7B%0A
-    
                 
@@ -558,34 +558,26 @@
             
-  
-  %7D%0A    
+%7D%0A
             
@@ -592,36 +592,32 @@
 = true;%0A        
-   
- 
 %7D else %7B%0A       
@@ -601,36 +601,32 @@
        %7D else %7B%0A
-    
             if (
@@ -645,36 +645,32 @@
                 
-   
- 
 data2 = data;%0A  
@@ -671,36 +671,32 @@
 ta;%0A            
-    
 %7D else %7B%0A       
@@ -680,36 +680,32 @@
        %7D else %7B%0A
-    
                 
@@ -726,34 +726,26 @@
             
-    %7D%0A    
+%7D%0A
             
@@ -762,30 +762,16 @@
 = true;%0A
-            %7D%0A
         
@@ -820,42 +820,8 @@
 ) %7B%0A
-        synchronized (this) %7B%0A    
     
@@ -833,36 +833,32 @@
 f (extraData) %7B%0A
-    
             if (
@@ -877,36 +877,32 @@
                 
-    
 extraData = fals
@@ -912,36 +912,32 @@
                 
-    
 useData1 = false
@@ -946,36 +946,32 @@
                 
- 
-   
 return data1;%0A  
@@ -972,36 +972,32 @@
 a1;%0A            
-    
 %7D else %7B%0A       
@@ -997,36 +997,32 @@
                 
-  
-  
 extraData = fals
@@ -1032,36 +1032,32 @@
                 
-    
 useData1 = true;
@@ -1065,36 +1065,32 @@
                 
-   
- 
 return data2;%0A  
@@ -1099,33 +1099,26 @@
         
-    %7D%0A   
+%7D%0A
         
  %7D else 
@@ -1101,33 +1101,32 @@
       %7D%0A        
- 
 %7D else %7B%0A       
@@ -1110,36 +1110,32 @@
        %7D else %7B%0A
-    
             if (
@@ -1137,36 +1137,32 @@
  if (newData) %7B%0A
-    
                 
@@ -1186,36 +1186,32 @@
                 
-    
 if (useData1) %7B%0A
@@ -1202,36 +1202,32 @@
 if (useData1) %7B%0A
-    
                 
@@ -1252,36 +1252,32 @@
                 
-    
 %7D else %7B%0A       
@@ -1261,36 +1261,32 @@
        %7D else %7B%0A
-    
                 
@@ -1315,34 +1315,26 @@
             
-    %7D%0A    
+%7D%0A
             
@@ -1350,36 +1350,32 @@
                 
- 
-   
 return null;%0A   
@@ -1371,34 +1371,16 @@
 n null;%0A
-                %7D%0A
         
@@ -1437,44 +1437,8 @@
 ) %7B%0A
-        //synchronized (this) %7B%0A    
     
@@ -1461,20 +1461,8 @@
 ta;%0A
-        //%7D%0A
     

Remove synchronised from RadioImageCache