Statistiques
| Révision :

root / src / gZFS / guiTrt.java @ 53

Historique | Voir | Annoter | Télécharger (7,3 ko)

1
/*******************************************************************
2
 * 
3
 * Copyright (C) 2013 Kevin Reverchon
4
 * This file/program is part of gZFS free software
5
 * See COPYING file for details
6
 * 
7
 *******************************************************************/
8
package gZFS;
9

    
10
import java.util.Arrays;
11
import java.util.Collections;
12
import java.util.Hashtable;
13

    
14
import org.jfree.chart.ChartFactory;
15
import org.jfree.chart.JFreeChart;
16
import org.jfree.chart.plot.PiePlot3D;
17
import org.jfree.data.general.DefaultPieDataset;
18
import org.jfree.data.general.PieDataset;
19
import org.jfree.util.Log;
20
import org.jfree.util.Rotation;
21

    
22
public class guiTrt {
23

    
24

    
25

    
26
        private float zfsSize = 0;
27
        private float zfsUsedByData = 0;
28
        private float zfsUsedBySnapshots = 0;
29
        private float zfsFree=0;
30
        private float zfsFreePourcent=0;
31
        private String Unit = "";
32

    
33
        public void formatChartValue(String totalSize, String usedByData, String usedBySnapshots){
34

    
35
                setUnit("");
36
                setZfsSize(0);
37
                setZfsUsedByData(0);
38
                setZfsUsedBySnapshots(0);
39
                setZfsFree(0);
40
                setZfsFreePourcent(0);
41

    
42

    
43
                if ( !totalSize.equalsIgnoreCase("") && ! totalSize.equalsIgnoreCase(null) && !usedByData.equalsIgnoreCase("") && !usedByData.equalsIgnoreCase(null) && !usedBySnapshots.equalsIgnoreCase("") && !usedBySnapshots.equalsIgnoreCase(null)){
44
                        totalSize = totalSize.replace(",",".");
45
                        usedByData = usedByData.replace(",", ".");
46
                        usedBySnapshots = usedBySnapshots.replace("," , ".");
47
                        if ( totalSize.contains("T")){
48
                                setUnit("T");
49
                                setZfsSize(Float.valueOf(totalSize.substring(0, (totalSize.length()-1))));
50
                                setZfsFree(getZfsSize());
51

    
52
                                //Set Pourcent Data Size with the good Unit
53
                                if (usedByData.contains("T")){
54
                                        setZfsFree(getZfsFree() - Float.valueOf(usedByData.substring(0, (usedByData.length()-1))));
55
                                        setZfsUsedByData((Float.valueOf(usedByData.substring(0, (usedByData.length()-1))) *100)/getZfsSize());
56
                                }else{
57
                                        if (usedByData.contains("G")){
58
                                                setZfsFree(getZfsFree() - Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1024);
59
                                                setZfsUsedByData(( (Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1024) *100)/getZfsSize());
60
                                        }else{
61
                                                if (usedByData.contains("M")){
62
                                                        setZfsFree(getZfsFree() - Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1048576);
63
                                                        setZfsUsedByData(( (Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1048576) *100)/getZfsSize());
64
                                                }
65
                                        }
66
                                }
67

    
68
                                //Set Pourcent Snapshot Size with the good Unit
69
                                if (usedBySnapshots.contains("T")){
70
                                        setZfsUsedBySnapshots((Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1))) *100)/getZfsSize());
71
                                }else{
72
                                        if (usedBySnapshots.contains("G")){
73
                                                setZfsUsedBySnapshots(( (Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1)))/1024) *100)/getZfsSize());
74
                                        }else{
75
                                                if (usedBySnapshots.contains("M")){
76
                                                        setZfsUsedBySnapshots(( (Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1)))/1048576) *100)/getZfsSize());
77
                                                }
78
                                        }
79
                                }
80

    
81
                        }
82

    
83
                        if ( totalSize.contains("G")){
84
                                setUnit("G");
85
                                setZfsSize(Float.valueOf(totalSize.substring(0, (totalSize.length()-1))));
86
                                setZfsFree(getZfsSize());
87
                                //Set Pourcent Data Size with the good Unit
88
                                if (usedByData.contains("G")){
89
                                        setZfsFree(getZfsFree() - Float.valueOf(usedByData.substring(0, (usedByData.length()-1))));
90
                                        setZfsUsedByData(( Float.valueOf(usedByData.substring(0, (usedByData.length()-1))) *100)/getZfsSize());
91
                                }else{
92
                                        if (usedByData.contains("M")){
93
                                                setZfsFree(getZfsFree() - Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1024);
94
                                                setZfsUsedByData(( (Float.valueOf(usedByData.substring(0, (usedByData.length()-1)))/1024) *100)/getZfsSize());
95
                                        }
96
                                }
97
                                //Set Pourcent Snapshot Size with the good Unit
98
                                if (usedBySnapshots.contains("G")){
99
                                        setZfsFree(getZfsFree() - Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1))));
100
                                        setZfsUsedBySnapshots(( Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1))) *100)/getZfsSize());
101
                                }else{
102
                                        if (usedBySnapshots.contains("M")){
103
                                                setZfsFree(getZfsFree() - Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1)))/1024);
104
                                                setZfsUsedBySnapshots(( (Float.valueOf(usedBySnapshots.substring(0, (usedBySnapshots.length()-1)))/1024) *100)/getZfsSize());
105
                                        }
106
                                }
107

    
108
                        }
109
                        setZfsFreePourcent(100-getZfsUsedByData()-getZfsUsedBySnapshots());
110
                        System.out.println("zfsUsedByData :"+getZfsUsedByData()+" "+"zfsUsedBySnapshots : "+getZfsUsedBySnapshots()+" zfsFree : "+getZfsFree());
111

    
112
                }
113
        }
114
        
115
        public float formatChartDataInPourcent(String val2convert, String totalSize){
116
                if ( !val2convert.equalsIgnoreCase("") && val2convert.equalsIgnoreCase(null)&& totalSize.equalsIgnoreCase("")&&totalSize.equalsIgnoreCase(null)){
117
                        return (Float.valueOf(val2convert.substring(0, (val2convert.length()-1))) *100)/Float.valueOf(totalSize);        
118
                }
119
                return 0;
120
        }
121

    
122
        public float dataInPourcent(float val2convert, float totalSize){
123
                return  (val2convert*100)/(totalSize);
124
        }
125
        
126
        public float calculFree(float usedSize, float totalSize){
127
                return totalSize - usedSize;
128
        }
129
        
130
        
131

    
132
        public PieDataset createDataset(Hashtable<String, Float> dataCharset2) {  
133
                final DefaultPieDataset result = new DefaultPieDataset();  
134
                String[] keystitle = (String[]) dataCharset2.keySet().toArray(new String[0]);
135

    
136
                Arrays.sort(keystitle, Collections.reverseOrder());
137
                for(String keytitle : keystitle) {
138

    
139
                        result.setValue(keytitle, dataCharset2.get(keytitle));  
140
                }
141
                return result;  
142
        }  
143

    
144
        public org.jfree.chart.JFreeChart createChart(final PieDataset dataset, final String title) {  
145
                final JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, true, true, false);  
146

    
147
                final PiePlot3D plot = (PiePlot3D) chart.getPlot(); 
148

    
149
                plot.setStartAngle(290);  
150
                plot.setDirection(Rotation.CLOCKWISE);  
151
                plot.setLabelGenerator(null);
152
                //plot.setForegroundAlpha(0.8f);  
153

    
154
                return chart;  
155
        }
156

    
157
        /**
158
         * @return the zfsSize
159
         */
160
        public float getZfsSize() {
161
                return zfsSize;
162
        }
163

    
164
        /**
165
         * @param zfsSize the zfsSize to set
166
         */
167
        public void setZfsSize(float zfsSize) {
168
                this.zfsSize = zfsSize;
169
        }
170

    
171
        /**
172
         * @return the zfsUsedByData
173
         */
174
        public float getZfsUsedByData() {
175
                return zfsUsedByData;
176
        }
177

    
178
        /**
179
         * @param zfsUsedByData the zfsUsedByData to set
180
         */
181
        public void setZfsUsedByData(float zfsUsedByData) {
182
                this.zfsUsedByData = zfsUsedByData;
183
        }
184

    
185
        /**
186
         * @return the zfsUsedBySnapshots
187
         */
188
        public float getZfsUsedBySnapshots() {
189
                return zfsUsedBySnapshots;
190
        }
191

    
192
        /**
193
         * @param zfsUsedBySnapshots the zfsUsedBySnapshots to set
194
         */
195
        public void setZfsUsedBySnapshots(float zfsUsedBySnapshots) {
196
                this.zfsUsedBySnapshots = zfsUsedBySnapshots;
197
        }
198

    
199
        /**
200
         * @return the zfsFree
201
         */
202
        public float getZfsFree() {
203
                return zfsFree;
204
        }
205

    
206
        /**
207
         * @param zfsFree the zfsFree to set
208
         */
209
        public void setZfsFree(float zfsFree) {
210
                this.zfsFree = zfsFree;
211
        }
212

    
213
        /**
214
         * @return the zfsFreePourcent
215
         */
216
        public float getZfsFreePourcent() {
217
                return zfsFreePourcent;
218
        }
219

    
220
        /**
221
         * @param zfsFreePourcent the zfsFreePourcent to set
222
         */
223
        public void setZfsFreePourcent(float zfsFreePourcent) {
224
                this.zfsFreePourcent = zfsFreePourcent;
225
        }
226

    
227
        /**
228
         * @return the unit
229
         */
230
        public String getUnit() {
231
                return Unit;
232
        }
233

    
234
        /**
235
         * @param unit the unit to set
236
         */
237
        public void setUnit(String unit) {
238
                Unit = unit;
239
        }  
240

    
241

    
242
}