source: ether_megapoli/trunk/service/implementation/com/ether/BouchonHelper.java @ 191

Last change on this file since 191 was 191, checked in by vmipsl, 13 years ago

Servlet _ Contour en cours

File size: 10.5 KB
Line 
1package com.ether;
2
3import com.medias.database.objects.Parametre;
4import com.medias.database.objects.Plateforme;
5import com.medias.database.objects.TypePlateforme;
6import com.medias.database.objects.Unite;
7import org.jetbrains.annotations.NotNull;
8import org.jetbrains.annotations.Nullable;
9
10import java.util.ArrayList;
11import java.util.Arrays;
12import java.util.Calendar;
13import java.util.Date;
14import java.util.List;
15
16public class BouchonHelper
17{
18    public static Plateforme createPlateform()
19    {
20        final Plateforme plateform = new Plateforme();
21        plateform.setPlateformeId( 3 );
22        plateform.setPlateformeNom( "LHVP" );
23        plateform.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) );
24        return plateform;
25    }
26
27    public static List<Plateforme> createPlateforms()
28    {
29        final List<Plateforme> plateforms = new ArrayList<Plateforme>();
30        final Plateforme pf = createPlateform();
31        plateforms.add( pf );
32
33        final Plateforme pf2 = new Plateforme();
34        pf2.setPlateformeId( 1 );
35        pf2.setPlateformeNom( "SIRTA" );
36        pf2.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) );
37        plateforms.add( pf2 );
38
39        final Plateforme pf3 = new Plateforme();
40        pf3.setPlateformeId( 4 );
41        pf3.setPlateformeNom( "ATR-42" );
42        pf3.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) );
43        plateforms.add( pf3 );
44
45        final Plateforme pf4 = new Plateforme();
46        pf4.setPlateformeId( 6 );
47        pf4.setPlateformeNom( "Piper-Aztec" );
48        pf4.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) );
49        plateforms.add( pf4 );
50
51        return plateforms;
52    }
53
54    public static Plateforme getPlateformById( @NotNull final Integer plateformId )
55    {
56        if( null != plateformId && plateformId == 1 )
57        {
58            final Plateforme pf2 = new Plateforme();
59            pf2.setPlateformeId( 1 );
60            pf2.setPlateformeNom( "SIRTA" );
61            pf2.setTypePlateforme( new TypePlateforme( 1, "FIXE" ) );
62            return pf2;
63        }
64        else if( null != plateformId && plateformId == 3 )
65        {
66            return createPlateform();
67        }
68        else if( null != plateformId && plateformId == 4 )
69        {
70            final Plateforme pf3 = new Plateforme();
71            pf3.setPlateformeId( 4 );
72            pf3.setPlateformeNom( "ATR-42" );
73            pf3.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) );
74            return pf3;
75        }
76        else if( null != plateformId && plateformId == 6 )
77        {
78            final Plateforme pf4 = new Plateforme();
79            pf4.setPlateformeId( 6 );
80            pf4.setPlateformeNom( "Piper-Aztec" );
81            pf4.setTypePlateforme( new TypePlateforme( 1, "MOBILE" ) );
82            return pf4;
83        }
84        else return null;
85    }
86
87    public static Parametre createParameter()
88    {
89        final Parametre parametre = new Parametre();
90        parametre.setParametreId( 3 );
91        parametre.setParametreNom( "Ozone" );
92        parametre.setParametreCode( "O3" );
93
94        final Unite unit = new Unite();
95        unit.setUniteCode( "ppbv" );
96        parametre.setUnite( unit );
97
98        return parametre;
99    }
100
101    public static List<Parametre> createParameters( @Nullable final Integer plateformId )
102    {
103        final Unite unitPpbv = new Unite();
104        unitPpbv.setUniteCode( "ppbv" );
105        final Unite units_1 = new Unite();
106        units_1.setUniteCode( "s-1" );
107        final Unite unitMbar = new Unite();
108        unitMbar.setUniteCode( "mbar" );
109        final Unite unitC = new Unite();
110        unitC.setUniteCode( "°C" );
111
112
113        final List<Parametre> parameters = new ArrayList<Parametre>();
114
115        final Parametre pOzone = createParameter();
116
117        final Parametre pJNO2 = new Parametre();
118        pJNO2.setParametreId( 1 );
119        pJNO2.setParametreNom( "Photolysis Frequency JNO2" );
120        pJNO2.setParametreCode( "JNO2" );
121        pJNO2.setUnite( units_1 );
122
123        final Parametre pPressure = new Parametre();
124        pPressure.setParametreId( 9 );
125        pPressure.setParametreNom( "Pressure" );
126        pPressure.setParametreCode( "P" );
127        pPressure.setUnite( unitMbar );
128
129        final Parametre pTemperature = new Parametre();
130        pTemperature.setParametreId( 10 );
131        pTemperature.setParametreNom( "Temperature" );
132        pTemperature.setParametreCode( "T" );
133        pTemperature.setUnite( unitC );
134
135        final Parametre pNO = new Parametre();
136        pNO.setParametreId( 4 );
137        pNO.setParametreNom( "Nitrogen Monoxide" );
138        pNO.setParametreCode( "NO" );
139        pNO.setUnite( unitPpbv );
140
141        final Parametre pNOx = new Parametre();
142        pNOx.setParametreId( 23 );
143        pNOx.setParametreNom( "Nitrogen Oxides" );
144        pNOx.setParametreCode( "NOx" );
145        pNOx.setUnite( unitPpbv );
146
147
148        if( null != plateformId && plateformId == 1 )
149        {
150            // SIRTA
151            parameters.add( pOzone );
152            parameters.add( pJNO2 );
153            parameters.add( pPressure );
154            parameters.add( pTemperature );
155            parameters.add( pNO );
156
157        }
158        else if( null != plateformId && plateformId == 3 )
159        {
160            // LHVP
161            parameters.add( pOzone );
162            parameters.add( pNO );
163            parameters.add( pNOx );
164        }
165        else if( null != plateformId && plateformId == 4 )
166        {
167            // ATR-42
168            parameters.add( pPressure );
169            parameters.add( pTemperature );
170        }
171        else if( null != plateformId && plateformId == 6 )
172        {
173            // Piper-Aztec
174        }
175        else
176        {
177            parameters.add( pOzone );
178            parameters.add( pJNO2 );
179            parameters.add( pPressure );
180            parameters.add( pTemperature );
181            parameters.add( pNO );
182            parameters.add( pNOx );
183        }
184
185        return parameters;
186    }
187
188    public static Parametre getParameterById( @NotNull final Integer parameterId )
189    {
190        if( parameterId == 3 )
191            return createParameter();
192
193        else if( parameterId == 1 )
194        {
195            final Parametre pJNO2 = new Parametre();
196            pJNO2.setParametreId( 1 );
197            pJNO2.setParametreNom( "Photolysis Frequency JNO2" );
198            pJNO2.setParametreCode( "JNO2" );
199            final Unite units_1 = new Unite();
200            units_1.setUniteCode( "s-1" );
201            pJNO2.setUnite( units_1 );
202            return pJNO2;
203        }
204        else if( parameterId == 9 )
205        {
206            final Parametre pPressure = new Parametre();
207            pPressure.setParametreId( 9 );
208            pPressure.setParametreNom( "Pressure" );
209            pPressure.setParametreCode( "P" );
210            final Unite unitMbar = new Unite();
211            unitMbar.setUniteCode( "mbar" );
212
213            pPressure.setUnite( unitMbar );
214            return pPressure;
215        }
216        else if( parameterId == 10 )
217        {
218            final Parametre pTemperature = new Parametre();
219            pTemperature.setParametreId( 10 );
220            pTemperature.setParametreNom( "Temperature" );
221            pTemperature.setParametreCode( "T" );
222            final Unite unitC = new Unite();
223            unitC.setUniteCode( "°C" );
224            pTemperature.setUnite( unitC );
225            return pTemperature;
226        }
227        else if( parameterId == 4 )
228        {
229
230            final Parametre pNO = new Parametre();
231            pNO.setParametreId( 4 );
232            pNO.setParametreNom( "Nitrogen Monoxide" );
233            pNO.setParametreCode( "NO" );
234            final Unite unitPpbv = new Unite();
235            unitPpbv.setUniteCode( "ppbv" );
236            pNO.setUnite( unitPpbv );
237            return pNO;
238        }
239        else if( parameterId == 23 )
240        {
241
242            final Parametre pNOx = new Parametre();
243            pNOx.setParametreId( 23 );
244            pNOx.setParametreNom( "Nitrogen Oxides" );
245            pNOx.setParametreCode( "NOx" );
246            final Unite unitPpbv = new Unite();
247            unitPpbv.setUniteCode( "ppbv" );
248            pNOx.setUnite( unitPpbv );
249            return pNOx;
250        }
251        else return null;
252    }
253
254    public static Data createValuesForTimeSerie( final Integer size, final Integer delta )
255    {
256        if( null == delta )
257            return new Data( new double[0], new Date[0] );
258
259        final double[] values = new double[size];
260        final Date[] dates = new Date[size];
261        final Calendar cal = Calendar.getInstance();
262
263        for( int i = 0; i < size; i++ )
264        {
265            values[i] = (double) i * Math.random() * delta;
266            cal.set( Calendar.MINUTE, (int) ( 2 + i + ( Math.random() * 8 ) ) );
267            dates[i] = cal.getTime();
268        }
269        return new Data( values, dates );
270    }
271
272    public static Data createValuesFor2D( final Integer size, final Integer delta )
273    {
274//                final double[] latitudeArray = {2.1, 2.2, 2.3};
275//                final double[] longitudeValues = {112.1, 12.2, 22.3};
276        final double[] latitudeValues = new double[size];
277        final double[] longitudeValues = new double[size];
278        final double[] parameterValues = new double[size];
279
280        for( int i = 0; i < size; i++ )
281        {
282            parameterValues[i] = Math.random() * i;
283            latitudeValues[i] = Math.random() * i;
284            longitudeValues[i] = Math.random() * i;
285        }
286
287        return new Data( parameterValues, latitudeValues, longitudeValues );
288    }
289
290    public static Data createRealValuesFor2D()
291    {
292//        final double[] latitudeValues = {488993.0, 489001.0, 488984.0, 489010.0, 490005.0, 490015.0};
293//        final double[] longitudeValues = {-1829.0, -1829.0, -1828.0, -1828.0, -1827.0, -1826.0};
294//        final double[] parameterValues = {7.029, 0.0, 0.0, 0.0, 8.547, 0.0, 0.0, 0.0, 8.845, 0.0, 0.0, 0.0, 9.248, 0.0, 0.0, 0.0, 9.58, 0.0, 0.0, 0.0, 9.98, 0.0, 0.0, 0.0, 7.98, 0.0, 0.0, 0.0, 6.58, 0.0, 0.0, 0.0, 8.08, 0.0, 0.0, 0.0};
295
296        final Double[] latitudeArray = new Double[]{48.898, 48.899, 48.900, 49.1001, 49.1002, 49.1003, 49.1004};
297        final Double[] longitudeArray = new Double[]{-0.1832, 2.0368, 2.0369, 2.037, 2.8216, 2.8221, 3.0};
298        final Double[] parameterArray = new Double[]{0.1094, 30.8, 19.0, 12.31, 12.69, 12.06, 6.813};
299
300        final List<Double> latitudeValues = Arrays.asList( latitudeArray );
301        final List<Double> longitudeValues = Arrays.asList( longitudeArray );
302        final List<Double> parameterValues = Arrays.asList( parameterArray );
303
304        return new Data( parameterValues, latitudeValues, longitudeValues );
305    }
306
307}
Note: See TracBrowser for help on using the repository browser.