Index: /tapas/Tapas.iml
===================================================================
--- /tapas/Tapas.iml	(revision 418)
+++ /tapas/Tapas.iml	(revision 419)
@@ -19,4 +19,7 @@
           <root url="file://$MODULE_DIR$/web" relative="/" />
         </webroots>
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/work" />
+        </sourceRoots>
       </configuration>
     </facet>
@@ -24,7 +27,5 @@
   <component name="NewModuleRootManager" inherit-compiler-output="true">
     <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/work" isTestSource="false" />
-    </content>
+    <content url="file://$MODULE_DIR$" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
Index: /tapas/domain/Domain.iml
===================================================================
--- /tapas/domain/Domain.iml	(revision 418)
+++ /tapas/domain/Domain.iml	(revision 419)
@@ -11,4 +11,5 @@
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="lib_common" level="project" />
+    <orderEntry type="module" module-name="Common" />
   </component>
 </module>
Index: /tapas/domain/interface/com/ether/FileFormat.java
===================================================================
--- /tapas/domain/interface/com/ether/FileFormat.java	(revision 419)
+++ /tapas/domain/interface/com/ether/FileFormat.java	(revision 419)
@@ -0,0 +1,12 @@
+package com.ether;
+
+/**
+ * User: rboipsl
+ * Date: 16 march 2012
+ */
+public enum FileFormat
+{
+    ASCII,
+    FITS,
+    NETCDF
+}
Index: /tapas/domain/interface/com/ether/YesNo.java
===================================================================
--- /tapas/domain/interface/com/ether/YesNo.java	(revision 419)
+++ /tapas/domain/interface/com/ether/YesNo.java	(revision 419)
@@ -0,0 +1,11 @@
+package com.ether;
+
+/**
+ * User: rboipsl
+ * Date: 19 march 2012
+ */
+public enum YesNo
+{
+    YES,
+    NO
+}
Index: /tapas/domain/interface/com/ether/tapas/Atmosphere.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Atmosphere.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Atmosphere.java	(revision 419)
@@ -0,0 +1,53 @@
+package com.ether.tapas;
+
+import com.ether.Pair;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.List;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Atmosphere
+{
+    @NotNull
+    public Pair<String, Long> getReference()
+    {
+        return _reference;
+    }
+
+    public void setReference( @NotNull final Pair<String, Long> reference )
+    {
+        _reference = reference;
+    }
+
+    @NotNull
+    public List<String> getArlettyFile()
+    {
+        return _arlettyFile;
+    }
+
+    public void setArlettyFile( @NotNull final List<String> arlettyFile )
+    {
+        _arlettyFile = arlettyFile;
+    }
+
+    @NotNull
+    public List<String> getEcmwfFile()
+    {
+        return _ecmwfFile;
+    }
+
+    public void setEcmwfFile( @NotNull final List<String> ecmwfFile )
+    {
+        _ecmwfFile = ecmwfFile;
+    }
+
+    @NotNull
+    private Pair<String, Long> _reference;
+    @NotNull
+    private List<String> _arlettyFile;
+    @NotNull
+    private List<String> _ecmwfFile;
+}
Index: /tapas/domain/interface/com/ether/tapas/Coordinate.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Coordinate.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Coordinate.java	(revision 419)
@@ -0,0 +1,50 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Coordinate
+{
+    @NotNull
+    public String getMin()
+    {
+        return _min;
+    }
+
+    public void setMin( @NotNull final String min )
+    {
+        _min = min;
+    }
+
+    @NotNull
+    public String getMax()
+    {
+        return _max;
+    }
+
+    public void setMax( @NotNull final String max )
+    {
+        _max = max;
+    }
+
+    @NotNull
+    public Long getValue()
+    {
+        return _value;
+    }
+
+    public void setValue( @NotNull final Long value )
+    {
+        _value = value;
+    }
+
+    @NotNull
+    private String _min;
+    @NotNull
+    private String _max;
+    @NotNull
+    private Long _value;
+}
Index: /tapas/domain/interface/com/ether/tapas/Instrument.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Instrument.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Instrument.java	(revision 419)
@@ -0,0 +1,90 @@
+package com.ether.tapas;
+
+import com.ether.Pair;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Instrument
+{
+    @NotNull
+    public Pair<String, String> getSpectralChoice()
+    {
+        return _spectralChoice;
+    }
+
+    public void setSpectralChoice( @NotNull final Pair<String, String> spectralChoice )
+    {
+        _spectralChoice = spectralChoice;
+    }
+
+    @NotNull
+    public String getSpectralRange()
+    {
+        return _spectralRange;
+    }
+
+    public void setSpectralRange( @NotNull final String spectralRange )
+    {
+        _spectralRange = spectralRange;
+    }
+
+    @NotNull
+    public Pair<String, Long> getIlsfChoice()
+    {
+        return _ilsfChoice;
+    }
+
+    public void setIlsfChoice( @NotNull final Pair<String, Long> ilsfChoice )
+    {
+        _ilsfChoice = ilsfChoice;
+    }
+
+    @NotNull
+    public String getIlsfPath()
+    {
+        return _ilsfPath;
+    }
+
+    public void setIlsfPath( @NotNull final String ilsfPath )
+    {
+        _ilsfPath = ilsfPath;
+    }
+
+    @NotNull
+    public Pair<String, Long> getResolvingPower()
+    {
+        return _resolvingPower;
+    }
+
+    public void setResolvingPower( @NotNull final Pair<String, Long> resolvingPower )
+    {
+        _resolvingPower = resolvingPower;
+    }
+
+    @NotNull
+    public Pair<String, Long> getSamplingRatio()
+    {
+        return _samplingRatio;
+    }
+
+    public void setSamplingRatio( @NotNull final Pair<String, Long> samplingRatio )
+    {
+        _samplingRatio = samplingRatio;
+    }
+
+    @NotNull
+    private Pair<String, String> _spectralChoice;
+    @NotNull
+    private String _spectralRange;
+    @NotNull
+    private Pair<String, Long> _ilsfChoice;
+    @NotNull
+    private String _ilsfPath;
+    @NotNull
+    private Pair<String, Long> _resolvingPower;
+    @NotNull
+    private Pair<String, Long> _samplingRatio;
+}
Index: /tapas/domain/interface/com/ether/tapas/Los.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Los.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Los.java	(revision 419)
@@ -0,0 +1,50 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Los
+{
+    @NotNull
+    public String getRaJ2000()
+    {
+        return _raJ2000;
+    }
+
+    public void setRaJ2000( @NotNull final String raJ2000 )
+    {
+        _raJ2000 = raJ2000;
+    }
+
+    @NotNull
+    public String getDecJ2000()
+    {
+        return _decJ2000;
+    }
+
+    public void setDecJ2000( @NotNull final String decJ2000 )
+    {
+        _decJ2000 = decJ2000;
+    }
+
+    @NotNull
+    public Coordinate getZenithAngle()
+    {
+        return _zenithAngle;
+    }
+
+    public void setZenithAngle( @NotNull final Coordinate zenithAngle )
+    {
+        _zenithAngle = zenithAngle;
+    }
+
+    @NotNull
+    private String _raJ2000;
+    @NotNull
+    private String _decJ2000;
+    @NotNull
+    private Coordinate _zenithAngle;
+}
Index: /tapas/domain/interface/com/ether/tapas/Observation.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Observation.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Observation.java	(revision 419)
@@ -0,0 +1,65 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Date;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Observation
+{
+    @NotNull
+    public Date getDate()
+    {
+        return _date;
+    }
+
+    public void setDate( @NotNull final Date date )
+    {
+        _date = date;
+    }
+
+    @NotNull
+    public Observatory getObservatory()
+    {
+        return _observatory;
+    }
+
+    public void setObservatory( @NotNull final Observatory observatory )
+    {
+        _observatory = observatory;
+    }
+
+    @NotNull
+    public Los getLos()
+    {
+        return _los;
+    }
+
+    public void setLos( @NotNull final Los los )
+    {
+        _los = los;
+    }
+
+    @NotNull
+    public Instrument getInstrument()
+    {
+        return _instrument;
+    }
+
+    public void setInstrument( @NotNull final Instrument instrument )
+    {
+        _instrument = instrument;
+    }
+
+    @NotNull
+    private Date _date;
+    @NotNull
+    private Observatory _observatory;
+    @NotNull
+    private Los _los;
+    @NotNull
+    private Instrument _instrument;
+}
Index: /tapas/domain/interface/com/ether/tapas/Observatory.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Observatory.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Observatory.java	(revision 419)
@@ -0,0 +1,76 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author rboipsl
+ * @date 19 march 2012
+ */
+public class Observatory
+{
+    @NotNull
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId( @NotNull final String id )
+    {
+        _id = id;
+    }
+
+    @NotNull
+    public String getName()
+    {
+        return _name;
+    }
+
+    public void setName( @NotNull final String name )
+    {
+        _name = name;
+    }
+
+    @NotNull
+    public Coordinate getLongitude()
+    {
+        return _longitude;
+    }
+
+    public void setLongitude( @NotNull final Coordinate longitude )
+    {
+        _longitude = longitude;
+    }
+
+    @NotNull
+    public Coordinate getLatitude()
+    {
+        return _latitude;
+    }
+
+    public void setLatitude( @NotNull final Coordinate latitude )
+    {
+        _latitude = latitude;
+    }
+
+    @NotNull
+    public Coordinate getAltitude()
+    {
+        return _altitude;
+    }
+
+    public void setAltitude( @NotNull final Coordinate altitude )
+    {
+        _altitude = altitude;
+    }
+
+    @NotNull
+    private String _id;
+    @NotNull
+    private String _name;
+    @NotNull
+    private Coordinate _longitude;
+    @NotNull
+    private Coordinate _latitude;
+    @NotNull
+    private Coordinate _altitude;
+}
Index: /tapas/domain/interface/com/ether/tapas/Preference.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Preference.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Preference.java	(revision 419)
@@ -0,0 +1,90 @@
+package com.ether.tapas;
+
+import com.ether.Pair;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Preference
+{
+    @NotNull
+    public Pair<String, String> getFormat()
+    {
+        return _format;
+    }
+
+    public void setFormat( @NotNull final Pair<String, String> format )
+    {
+        _format = format;
+    }
+
+    @NotNull
+    public Pair<String, String> getRayleighExtinction()
+    {
+        return _rayleighExtinction;
+    }
+
+    public void setRayleighExtinction( @NotNull final Pair<String, String> rayleighExtinction )
+    {
+        _rayleighExtinction = rayleighExtinction;
+    }
+
+    @NotNull
+    public Pair<String, String> getH2oExtinction()
+    {
+        return _h2oExtinction;
+    }
+
+    public void setH2oExtinction( @NotNull final Pair<String, String> h2oExtinction )
+    {
+        _h2oExtinction = h2oExtinction;
+    }
+
+    @NotNull
+    public Pair<String, String> getO3Extinction()
+    {
+        return _o3Extinction;
+    }
+
+    public void setO3Extinction( @NotNull final Pair<String, String> o3Extinction )
+    {
+        _o3Extinction = o3Extinction;
+    }
+
+    @NotNull
+    public Pair<String, String> getO2Extinction()
+    {
+        return _o2Extinction;
+    }
+
+    public void setO2Extinction( @NotNull final Pair<String, String> o2Extinction )
+    {
+        _o2Extinction = o2Extinction;
+    }
+
+    @NotNull
+    public Pair<String, String> getCo2Extinction()
+    {
+        return _co2Extinction;
+    }
+
+    public void setCo2Extinction( @NotNull final Pair<String, String> co2Extinction )
+    {
+        _co2Extinction = co2Extinction;
+    }
+
+    @NotNull
+    private Pair<String, String> _format;
+    @NotNull
+    private Pair<String, String> _rayleighExtinction;
+    @NotNull
+    private Pair<String, String> _h2oExtinction;
+    @NotNull
+    private Pair<String, String> _o3Extinction;
+    @NotNull
+    private Pair<String, String> _o2Extinction;
+    @NotNull
+    private Pair<String, String> _co2Extinction;
+}
Index: /tapas/domain/interface/com/ether/tapas/Request.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Request.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Request.java	(revision 419)
@@ -0,0 +1,63 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Request
+{
+    @NotNull
+    public Long getId()
+    {
+        return _id;
+    }
+
+    public void setId( @NotNull final Long id )
+    {
+        _id = id;
+    }
+
+    @NotNull
+    public Preference getPreference()
+    {
+        return _preference;
+    }
+
+    public void setPreference( @NotNull final Preference preference )
+    {
+        _preference = preference;
+    }
+
+    @NotNull
+    public Observation getObservation()
+    {
+        return _observation;
+    }
+
+    public void setObservation( @NotNull final Observation observation )
+    {
+        _observation = observation;
+    }
+
+    @NotNull
+    public Atmosphere getAtmosphere()
+    {
+        return _atmosphere;
+    }
+
+    public void setAtmosphere( @NotNull final Atmosphere atmosphere )
+    {
+        _atmosphere = atmosphere;
+    }
+
+    @NotNull
+    private Long _id;
+    @NotNull
+    private Preference _preference;
+    @NotNull
+    private Observation _observation;
+    @NotNull
+    private Atmosphere _atmosphere;
+}
Index: /tapas/domain/interface/com/ether/tapas/Tapas.java
===================================================================
--- /tapas/domain/interface/com/ether/tapas/Tapas.java	(revision 419)
+++ /tapas/domain/interface/com/ether/tapas/Tapas.java	(revision 419)
@@ -0,0 +1,39 @@
+package com.ether.tapas;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.List;
+
+/**
+ * @author vmipsl
+ * @date 08 march 2012
+ */
+public class Tapas
+{
+    @NotNull
+    public String getId()
+    {
+        return _id;
+    }
+
+    public void setId( @NotNull final String id )
+    {
+        _id = id;
+    }
+
+    @NotNull
+    public List<Request> getRequests()
+    {
+        return _requests;
+    }
+
+    public void setRequests( @NotNull final List<Request> requests )
+    {
+        _requests = requests;
+    }
+
+    @NotNull
+    private String _id;
+    @NotNull
+    private List<Request> _requests;
+}
Index: /tapas/persistence/implementation/com/ether/dao/Observatory.hbm.xml
===================================================================
--- /tapas/persistence/implementation/com/ether/dao/Observatory.hbm.xml	(revision 419)
+++ /tapas/persistence/implementation/com/ether/dao/Observatory.hbm.xml	(revision 419)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping default-cascade="save-update" auto-import="false">
+
+	<class name="com.ether.tapas.Observatory" table="observatory">
+
+		<id name="id">
+			<column name="observatory_id" />
+			<generator class="increment" />
+
+			<!-- <generator class="sequence"> -->
+			<!-- <param name="sequence">S_TABLE_TEST</param> -->
+			<!-- </generator> -->
+		</id>
+
+		<property name="name">
+			<column name="observatory_name"/>
+		</property>
+
+        <property name="latitude">
+            <column name="observatory_latitude"/>
+        </property>
+
+        <property name="longitude">
+             <column name="observatory_longitude"/>
+        </property>
+
+        <property name="altitude">
+              <column name="observatory_altitude"/>
+        </property>
+
+	</class>
+
+</hibernate-mapping>
+
Index: /tapas/persistence/implementation/com/ether/dao/ObservatoryDAOImpl.java
===================================================================
--- /tapas/persistence/implementation/com/ether/dao/ObservatoryDAOImpl.java	(revision 419)
+++ /tapas/persistence/implementation/com/ether/dao/ObservatoryDAOImpl.java	(revision 419)
@@ -0,0 +1,45 @@
+package com.ether.dao;
+
+import com.ether.PersistenceException;
+import com.ether.Plateform;
+import com.ether.tapas.Observatory;
+import org.hibernate.criterion.DetachedCriteria;
+import org.hibernate.criterion.Restrictions;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+/**
+ * @author vmipsl
+ * @date may 2011
+ * Example for a DAO
+ */
+public class ObservatoryDAOImpl
+        extends DomainAccessObjectImpl<Observatory, Integer>
+        implements ObservatoryDAO
+{
+    protected ObservatoryDAOImpl()
+    {
+        super( Observatory.class );
+    }
+
+//    @Nullable
+//    public Observatory getPlateformById( @NotNull final Integer plateformId )
+//            throws PersistenceException
+//    {
+//        final DetachedCriteria criteria = DetachedCriteria.forClass( Plateform.class )
+//                .add( Restrictions.idEq( plateformId ) );
+//
+//        return selectByCriteria( Plateform.class, criteria );
+//    }
+
+
+    @NotNull
+    public List<Observatory> getAllObservatories()
+            throws PersistenceException
+    {
+        final DetachedCriteria criteria = DetachedCriteria.forClass( Observatory.class );
+        return selectAllByCriteria( Observatory.class, criteria );
+    }
+}
Index: pas/persistence/implementation/com/ether/dao/Plateform.hbm.xml
===================================================================
--- /tapas/persistence/implementation/com/ether/dao/Plateform.hbm.xml	(revision 418)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
-        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping default-cascade="save-update" auto-import="false">
-
-	<class name="com.ether.Plateform" table="plateforme">
-
-		<id name="id">
-			<column name="plateforme_id" />
-			<generator class="increment" />
-
-			<!-- <generator class="sequence"> -->
-			<!-- <param name="sequence">S_TABLE_TEST</param> -->
-			<!-- </generator> -->
-		</id>
-
-		<property name="name">
-			<column name="plateforme_nom"/>
-		</property>
-
-	</class>
-
-</hibernate-mapping>
-
Index: pas/persistence/implementation/com/ether/dao/PlateformDAOImpl.java
===================================================================
--- /tapas/persistence/implementation/com/ether/dao/PlateformDAOImpl.java	(revision 418)
+++ 	(revision )
@@ -1,43 +1,0 @@
-package com.ether.dao;
-
-import com.ether.PersistenceException;
-import com.ether.Plateform;
-import org.hibernate.criterion.DetachedCriteria;
-import org.hibernate.criterion.Restrictions;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-import java.util.List;
-
-/**
- * @author vmipsl
- * @date may 2011
- * Example for a DAO
- */
-public class PlateformDAOImpl
-        extends DomainAccessObjectImpl<Plateform, Integer>
-        implements PlateformDAO
-{
-    protected PlateformDAOImpl()
-    {
-        super( Plateform.class );
-    }
-
-    @Nullable
-    public Plateform getPlateformById( @NotNull final Integer plateformId )
-            throws PersistenceException
-    {
-        final DetachedCriteria criteria = DetachedCriteria.forClass( Plateform.class )
-                .add( Restrictions.idEq( plateformId ) );
-
-        return selectByCriteria( Plateform.class, criteria );
-    }
-
-    @NotNull
-    public List<Plateform> getAllPlateforms()
-            throws PersistenceException
-    {
-        final DetachedCriteria criteria = DetachedCriteria.forClass( Plateform.class );
-        return selectAllByCriteria( Plateform.class, criteria );
-    }
-}
Index: /tapas/persistence/implementation/dao-context.xml
===================================================================
--- /tapas/persistence/implementation/dao-context.xml	(revision 418)
+++ /tapas/persistence/implementation/dao-context.xml	(revision 419)
@@ -4,5 +4,5 @@
 <!-- Application context DAO layer -->
 <beans>
-    <bean id="refPlateformDAO" class="com.ether.dao.PlateformDAOImpl">
+    <bean id="refPlateformDAO" class="com.ether.dao.ObservatoryDAOImpl">
         <property name="sessionFactory">
             <ref bean="sessionFactory"/>
Index: /tapas/persistence/interface/com/ether/dao/ObservatoryDAO.java
===================================================================
--- /tapas/persistence/interface/com/ether/dao/ObservatoryDAO.java	(revision 419)
+++ /tapas/persistence/interface/com/ether/dao/ObservatoryDAO.java	(revision 419)
@@ -0,0 +1,20 @@
+package com.ether.dao;
+
+import com.ether.PersistenceException;
+import com.ether.tapas.Observatory;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.List;
+
+/**
+ * @author vmipsl
+ * @date may 2011
+ * Example for a DAO
+ */
+public interface ObservatoryDAO
+	extends DomainAccessObject<Observatory, Integer>
+{
+
+    @NotNull
+    List<Observatory> getAllObservatories() throws PersistenceException;
+}
Index: pas/persistence/interface/com/ether/dao/PlateformDAO.java
===================================================================
--- /tapas/persistence/interface/com/ether/dao/PlateformDAO.java	(revision 418)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package com.ether.dao;
-
-import com.ether.Plateform;
-import com.ether.PersistenceException;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-import java.util.List;
-
-/**
- * @author vmipsl
- * @date may 2011
- * Example for a DAO
- */
-public interface PlateformDAO
-	extends DomainAccessObject<Plateform, Integer>
-{
-    @Nullable
-    Plateform getPlateformById( @NotNull final Integer plateformId ) throws PersistenceException;
-
-    @NotNull
-    List<Plateform> getAllPlateforms() throws PersistenceException;
-}
Index: /tapas/service/implementation/com/ether/TapasServiceImpl.java
===================================================================
--- /tapas/service/implementation/com/ether/TapasServiceImpl.java	(revision 418)
+++ /tapas/service/implementation/com/ether/TapasServiceImpl.java	(revision 419)
@@ -1,5 +1,6 @@
 package com.ether;
 
-import com.ether.dao.PlateformDAO;
+import com.ether.dao.ObservatoryDAO;
+import com.ether.tapas.Observatory;
 import com.ether.tapas.Request;
 import com.ether.tapas.Tapas;
@@ -84,48 +85,29 @@
     }
 
-    // TODO : supprimer cette mÃ©thode --> EXEMPLE
+    // list tous observatoires
     @Nullable
     @Transactional(readOnly = true)
-    public List<Plateform> getAllPlateforms()
+    public List<Observatory> getAllObservatories()
             throws ServiceException
     {
         try
         {
-            return _plateformDAO.getAllPlateforms();
+            return _observatoryDAO.getAllObservatories();
         }
         catch( PersistenceException e )
         {
-            throw new ServiceException( ServiceException.ServiceCode.PLATEFORM_NOT_FOUND, e );
+            throw new ServiceException( ServiceException.ServiceCode.OBSERVATORY_NOT_FOUND, e );
         }
     }
 
-    // TODO : supprimer cette mÃ©thode --> EXEMPLE
-    @Nullable
-    @Transactional(readOnly = true)
-    public Plateform getPlateformById( @Nullable final Integer plateformId )
-            throws ServiceException
+
+    @Required
+    public void setObservatoryDAO( final ObservatoryDAO observatoryDAO )
     {
-        if( null == plateformId )
-            return null;
-        try
-        {
-            return _plateformDAO.getPlateformById( plateformId );
-        }
-        catch( PersistenceException e )
-        {
-            throw new ServiceException( ServiceException.ServiceCode.PLATEFORM_NOT_FOUND, e );
-        }
-    }
-
-    // TODO : supprimer cette mÃ©thode --> EXEMPLE
-    @Required
-    public void setPlateformDAO( final PlateformDAO plateformDAO )
-    {
-        _plateformDAO = plateformDAO;
+        _observatoryDAO = observatoryDAO;
     }
 
     private static final Log LOGGER = LogFactory.getLog( TapasServiceImpl.class );
 
-    // TODO : supprimer ces DAO --> EXEMPLES
-    private PlateformDAO _plateformDAO;
+    private ObservatoryDAO _observatoryDAO;
 }
Index: /tapas/service/interface/com/ether/ServiceException.java
===================================================================
--- /tapas/service/interface/com/ether/ServiceException.java	(revision 418)
+++ /tapas/service/interface/com/ether/ServiceException.java	(revision 419)
@@ -21,6 +21,6 @@
     {
 
-    	PERSISTENCE, 
-        PLATEFORM_NOT_FOUND,
+    	PERSISTENCE,
+        OBSERVATORY_NOT_FOUND,
         USER_NOT_FOUND,
     }
Index: /tapas/service/interface/com/ether/TapasService.java
===================================================================
--- /tapas/service/interface/com/ether/TapasService.java	(revision 418)
+++ /tapas/service/interface/com/ether/TapasService.java	(revision 419)
@@ -1,4 +1,5 @@
 package com.ether;
 
+import com.ether.tapas.Observatory;
 import com.ether.tapas.Tapas;
 import org.jdom.Document;
@@ -18,3 +19,5 @@
 
     public void createXMLFile( final String fichier, final Document document );
+
+    public List<Observatory> getAllObservatories() throws ServiceException;
 }
Index: /tapas/web/project/formTapas.jsp
===================================================================
--- /tapas/web/project/formTapas.jsp	(revision 418)
+++ /tapas/web/project/formTapas.jsp	(revision 419)
@@ -7,7 +7,10 @@
 <tiles:insert page="/resources/templates/templateEther.jsp" flush="true">
 
-    <tiles:put name="insertCss" type="string"/>
+    <tiles:put name="insertCss" type="string">
+        <ether:htmlCss cssFile="select"/>
+    </tiles:put>
     <tiles:put name="insertJsOrJsp" type="string">
         <ether:htmlJs jsFile="library/jquery.json-2.3"/>
+        <ether:htmlJs jsFile="classesForJQuery/Select"/>
         <ether:htmlJsp jspFile="formTapas_script"/>
     </tiles:put>
@@ -33,5 +36,5 @@
             tapasTexts["<%=WebException.WebCode.ERROR_JSON_TAPAS_IS_NULL%>"] = "<spring:message code="error.ERROR_JSON_TAPAS_IS_NULL"/>";
 
-            var interfaceTapas = new InterfaceTapas();
+            var interfaceTapas = new InterfaceTapas(${jSonFileFormats},${jSonYesNos});
         </script>
 
Index: /tapas/web/project/formTapas_script.jsp
===================================================================
--- /tapas/web/project/formTapas_script.jsp	(revision 418)
+++ /tapas/web/project/formTapas_script.jsp	(revision 419)
@@ -2,5 +2,5 @@
     var InterfaceTapas = Class.create( {
 
-        initialize: function()
+        initialize: function(jsonFileFormats,jsonYesNos)
         {
             /** *********** CONTAINERS *********** **/
@@ -8,24 +8,74 @@
             this.containerErrors = $( "#errors" );
 
+            this.jsonFileFormats = jsonFileFormats || null;
+            this.jsonYesNos = jsonYesNos || null;
+
             this.containerErrors.hide();
+
             this.createForm();
         },
 
+
+
         // CREATES ********************************************************
+        createTr: function(texte, inputId, container)
+        {
+            var tr=$( document.createElement("tr") );
+            var td1=$( document.createElement("td") );
+            var td2=$( document.createElement("td") );
+            var input=$( document.createElement("input") );
+
+
+            input.attr({id: inputId});
+            td1.html(texte);
+            tr.append(td1);
+            td2.append(input);
+            tr.append(td2);
+            container.append(tr);
+        },
+
+
+        createTrList: function(texte, inputId, container, type)
+                {
+                    var tr=$( document.createElement("tr") );
+                    var td1=$( document.createElement("td") );
+                    var td2=$( document.createElement("td") );
+                    var input=$( document.createElement("input") );
+
+
+                    input.attr({id: inputId});
+                    td1.html(texte);
+                    tr.append(td1);
+                    if (type == 'format') this.displayFileFormats(td2);
+                    else if (type == 'yesno') this.displayYesNo(td2);
+
+                    tr.append(td2);
+                    container.append(tr);
+                },
+
+
         createForm: function()
         {
-            // Create button elements
-            this.input1 = $( document.createElement( "input" ) );
-            var input2 = $( document.createElement( "input" ) );
-
-            this.input1.attr( {id:"1"} );
-            this.containerForm.append( this.input1 );
-
-            input2.attr( {id:"2"} );
-            this.containerForm.append( input2 );
-
+
+            //Creation div
+            var divPreference=$( document.createElement("div") );
+            var tabPreference=$( document.createElement("table") );
+
+            this.createTrList("File format", "p1", tabPreference, 'format');
+            this.createTr("Rayleigh extinction", "p2", tabPreference);
+            this.createTrList("H20 extinction", "p3", tabPreference, 'yesno');
+            this.createTrList("O3 extinction", "p4", tabPreference, 'yesno');
+            this.createTrList("O2 extinction", "p5", tabPreference, 'yesno');
+            this.createTrList("CO2 extinction", "p6", tabPreference, 'yesno');
+
+            divPreference.append( tabPreference );
+            this.containerForm.append( divPreference );
+
+            //jQuery.proxy permet d'envoyer le contexte this courant
             var submitButton = new Button( {value:tapasTexts["label.submitButton"], parent:this.containerForm, id:"button_submit", className: "red_button", classNameText:"red_button_text", onClick:jQuery.proxy( this.onClickSubmit, this )} );
 
         },
+
+
 
         // REQUESTS ********************************************************
@@ -59,5 +109,34 @@
         },
 
+
         // OTHERS ********************************************************
+        displayFileFormats: function(container)
+        {
+            var paramSelect = new Object();
+            paramSelect.id = "select_formats";
+            paramSelect.parent = container;
+            this.selectFormats = new Select( paramSelect );
+            jQuery.each( this.jsonFileFormats, jQuery.proxy( function ( i, jsonFileFormat )
+            {
+                this.selectFormats.add( jsonFileFormat.value, jsonFileFormat.text );
+            }, this ) );
+            this.selectFormats.selectFirst( false );
+        },
+
+
+        displayYesNo: function(container,name)
+        {
+            var paramSelect = new Object();
+            paramSelect.id = "select_"+name;
+            paramSelect.parent = container;
+            this.selectYesNos = new Select( paramSelect );
+            jQuery.each( this.jsonYesNos, jQuery.proxy( function ( i, jsonYesNo )
+            {
+                this.selectYesNos.add( jsonYesNo.value, jsonYesNo.text );
+            }, this ) );
+            this.selectYesNos.selectFirst( false );
+        },
+
+
         showErrors: function( result )
         {
Index: /tapas/web/src/com/ether/Controller.java
===================================================================
--- /tapas/web/src/com/ether/Controller.java	(revision 418)
+++ /tapas/web/src/com/ether/Controller.java	(revision 419)
@@ -5,10 +5,14 @@
 import com.ether.annotation.ParamName;
 import com.ether.annotation.UseJSON;
+import com.ether.tapas.Observatory;
 import com.ether.tapas.Tapas;
+import com.ether.user.UserRole;
 import net.sf.json.JSONObject;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
@@ -25,9 +29,28 @@
     /** *********************************************************** **/
     @ControllerMethod(view = VIEW_FORM_TAPAS, loginMandatory = true, defaultView = VIEW_INDEX)
-    public Map<String, Object> viewForm()
+    public JSONObject viewForm()
             throws WebException
     {
-        return new HashMap<String, Object>();
+
+        try
+        {
+            final List<Observatory> allObservatories = getTapasService().getAllObservatories();
+
+            final JSONObject jsonObject = new JSONObject();
+            jsonObject.put( "jSonFileFormats", getJSONFileFormat() );
+            jsonObject.put( "jSonYesNos", getJSONYesNo() );
+            jsonObject.put( "jSonObservatories", allObservatories );
+            return jsonObject;
+        }
+        catch( ServiceException e )
+        {
+            throw new WebException( WebException.WebCode.ERROR_NO_OBSERVATORY_FOUND, e );
+        }
+
     }
+
+
+
+
 
     /** *********************************************************** **/
@@ -49,4 +72,36 @@
     }
 
+    private List<JSONObject> getJSONFileFormat()
+    {
+        final FileFormat[] fileFormats = FileFormat.values();
+
+        final List<JSONObject> jsonFileFormats = new ArrayList<JSONObject>( fileFormats.length );
+
+        for( final FileFormat fileFormat : fileFormats )
+        {
+            final JSONObject jsonFileFormat = new JSONObject();
+            jsonFileFormat .put( "text", fileFormat.name() );
+            jsonFileFormat .put( "value", fileFormat.name() );
+            jsonFileFormats.add( jsonFileFormat  );
+        }
+        return jsonFileFormats;
+    }
+
+    private List<JSONObject> getJSONYesNo()
+    {
+        final YesNo[] yesNos = YesNo.values();
+
+        final List<JSONObject> jsonYesNos = new ArrayList<JSONObject>( yesNos.length );
+
+        for( final YesNo yesNo : yesNos )
+        {
+            final JSONObject jsonYesNo = new JSONObject();
+            jsonYesNo .put( "text", yesNo.name() );
+            jsonYesNo .put( "value", yesNo.name() );
+            jsonYesNos.add( jsonYesNo );
+        }
+        return jsonYesNos;
+    }
+
     private static final Log LOGGER = LogFactory.getLog( Controller.class );
 
Index: /tapas/web/src/com/ether/WebException.java
===================================================================
--- /tapas/web/src/com/ether/WebException.java	(revision 418)
+++ /tapas/web/src/com/ether/WebException.java	(revision 419)
@@ -44,5 +44,6 @@
         USER_ALREADY_EXISTS,
         ERROR_ENCRYPT_PASSWORD,
-        ERROR_EMAIL_CANNOT_BE_SEND
+        ERROR_EMAIL_CANNOT_BE_SEND,
+        ERROR_NO_OBSERVATORY_FOUND
     }
 
