|
From: <jg...@us...> - 2006-09-20 15:28:40
|
Revision: 70
http://svn.sourceforge.net/surveyforge/?rev=70&view=rev
Author: jgongo
Date: 2006-09-20 08:28:07 -0700 (Wed, 20 Sep 2006)
Log Message:
-----------
First (very alpha) version of runner taking data from database
Modified Paths:
--------------
trunk/surveyforge-runner/pom.xml
trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireFrame.java
trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireRunner.java
Added Paths:
-----------
trunk/surveyforge-runner/src/main/filters/
trunk/surveyforge-runner/src/main/filters/database.properties
trunk/surveyforge-runner/src/main/resources/META-INF/
trunk/surveyforge-runner/src/main/resources/META-INF/persistence.xml
trunk/surveyforge-runner/src/main/resources/hibernate-entitymanager.jar
trunk/surveyforge-runner/src/main/resources/javassist.jar
trunk/surveyforge-runner/src/main/resources/jboss-archive-browsing.jar
Modified: trunk/surveyforge-runner/pom.xml
===================================================================
--- trunk/surveyforge-runner/pom.xml 2006-09-20 15:26:41 UTC (rev 69)
+++ trunk/surveyforge-runner/pom.xml 2006-09-20 15:28:07 UTC (rev 70)
@@ -9,6 +9,15 @@
<artifactId>surveyforge-runner</artifactId>
<name>SurveyForge questionnaire runner</name>
<build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <filters>
+ <filter>src/main/filters/database.properties</filter>
+ </filters>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -56,11 +65,17 @@
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
</dependency>
+ <!--
<dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
+ <groupId>hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
</dependency>
+ -->
<dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency>
+ <dependency>
<groupId>com.jgoodies</groupId>
<artifactId>looks</artifactId>
</dependency>
Added: trunk/surveyforge-runner/src/main/filters/database.properties
===================================================================
--- trunk/surveyforge-runner/src/main/filters/database.properties (rev 0)
+++ trunk/surveyforge-runner/src/main/filters/database.properties 2006-09-20 15:28:07 UTC (rev 70)
@@ -0,0 +1,5 @@
+database.dialect=org.hibernate.dialect.PostgreSQLDialect
+database.driver=org.postgresql.Driver
+database.url=jdbc:postgresql://localhost/surveyforge
+database.username=postgres
+database.password=postgres
Modified: trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireFrame.java
===================================================================
--- trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireFrame.java 2006-09-20 15:26:41 UTC (rev 69)
+++ trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireFrame.java 2006-09-20 15:28:07 UTC (rev 70)
@@ -151,7 +151,10 @@
}
pageSectionPanelBuilder.nextColumn( ); // Needed to place cursor in correct column
- pageSectionPanelBuilder.addLabel( element.getQuestion( ).getText( ) );
+ if( element.getQuestion( ) != null )
+ pageSectionPanelBuilder.addLabel( element.getQuestion( ).getText( ) );
+ else
+ pageSectionPanelBuilder.nextColumn( 1 );
pageSectionPanelBuilder.nextColumn( 2 );
pageSectionPanelBuilder.add( this.createDataEntryComponent( element ) );
}
@@ -196,9 +199,9 @@
final ClassificationValueDomain classificationValueDomain = (ClassificationValueDomain) valueDomain;
JPanel classificationPanel = new JPanel( new FlowLayout( FlowLayout.LEFT ) );
// JComboBox classificationCombo = new JComboBox( classificationValueDomain.getLevel( ).getItems( ).toArray( ) );
- JComboBox classificationCombo = new JComboBox(
- new ComboBoxAdapter( classificationValueDomain.getLevel( ).getItems( ), new QuestionnaireFrame.ClassificationConverter(
- classificationValueDomain.getLevel( ), this.dataModel.getModel( propertyName ) ) ) );
+ JComboBox classificationCombo = new JComboBox( new ComboBoxAdapter( classificationValueDomain.getLevel( ).getItems( ),
+ new QuestionnaireFrame.ClassificationConverter( classificationValueDomain.getLevel( ), this.dataModel
+ .getModel( propertyName ) ) ) );
// JTextField classificationCode = new JTextField( 5 );
final JTextField classificationCode = BasicComponentFactory.createTextField( this.dataModel.getModel( propertyName ) );
@@ -232,10 +235,6 @@
return verify( input );
}
} );
- // JFormattedTextField classificationCode = new JFormattedTextField( new QuestionnaireFrame.ClassificationFormatter(
- // classificationValueDomain.getLevel( ) ) );
- // PropertyConnector propertyConnector = new PropertyConnector( this.dataModel.getModel( "sexo" ), "value", classificationCode,
- // "value" );
classificationPanel.add( classificationCombo );
classificationPanel.add( classificationCode );
Modified: trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireRunner.java
===================================================================
--- trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireRunner.java 2006-09-20 15:26:41 UTC (rev 69)
+++ trunk/surveyforge-runner/src/main/java/org/surveyforge/runner/QuestionnaireRunner.java 2006-09-20 15:28:07 UTC (rev 70)
@@ -21,51 +21,21 @@
*/
package org.surveyforge.runner;
-import java.util.Arrays;
-import java.util.GregorianCalendar;
-
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
import javax.swing.JFrame;
import javax.swing.UIManager;
-import org.surveyforge.classification.Classification;
-import org.surveyforge.classification.Family;
-import org.surveyforge.classification.Item;
-import org.surveyforge.classification.Level;
-import org.surveyforge.classification.Version;
-import org.surveyforge.core.metadata.Register;
-import org.surveyforge.core.metadata.RegisterDataElement;
-import org.surveyforge.core.metadata.domain.AbstractValueDomain;
-import org.surveyforge.core.metadata.domain.ClassificationValueDomain;
-import org.surveyforge.core.metadata.domain.QuantityValueDomain;
-import org.surveyforge.core.metadata.domain.StructuredValueDomain;
-import org.surveyforge.core.survey.Question;
import org.surveyforge.core.survey.Questionnaire;
-import org.surveyforge.core.survey.QuestionnaireElement;
-import org.surveyforge.core.survey.Study;
/**
* @author jgonzalez
*/
public class QuestionnaireRunner
{
- public static Classification SEXO;
-
- static
- {
- GregorianCalendar calendar = new GregorianCalendar( );
- calendar.clear( );
- calendar.set( 2006, 0, 1 );
-
- Family ceescat_hivudvp = new Family( "ceescat-hivudvp" );
-
- QuestionnaireRunner.SEXO = new Classification( ceescat_hivudvp, "hivudvp-sexo" );
- Version sexoV = new Version( QuestionnaireRunner.SEXO, "sexo V1", calendar.getTime( ) );
- Level sexoL = new Level( sexoV, "sexo L1" );
- new Item( sexoL, null, "1", "Hombre" );
- new Item( sexoL, null, "2", "Mujer" );
- new Item( sexoL, null, "3", "Transexual" );
- }
-
public static void main( String[] args )
{
try
@@ -78,128 +48,31 @@
// Likely PlasticXP is not in the class path; ignore.
}
- QuestionnaireFrame questionnaireFrame = new QuestionnaireFrame( QuestionnaireRunner.getQuestionnaire( ) );
- questionnaireFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
- questionnaireFrame.pack( );
- questionnaireFrame.setVisible( true );
- }
-
- public static Questionnaire getQuestionnaire( )
- {
- Level sexoL = QuestionnaireRunner.SEXO.getCurrentVersion( ).getLevels( ).get( 0 );
-
- Register register = new Register( "register" );
- register.setIdentifier( "registroPrueba" );
-
- AbstractValueDomain mesNacimientoValueDomain = new QuantityValueDomain( 2, 0 );
- AbstractValueDomain anyoNacimientoValueDomain = new QuantityValueDomain( 4, 0 );
- StructuredValueDomain fechaNacimientoValueDomain = new StructuredValueDomain( );
- fechaNacimientoValueDomain.addSubDomain( mesNacimientoValueDomain );
- fechaNacimientoValueDomain.addSubDomain( anyoNacimientoValueDomain );
-
- RegisterDataElement mesNacimiento = new RegisterDataElement( "mesNacimiento", mesNacimientoValueDomain );
- RegisterDataElement anyoNacimiento = new RegisterDataElement( "anyoNacimiento", anyoNacimientoValueDomain );
-// RegisterDataElement fechaNacimiento = new RegisterDataElement( "fechaNacimiento", fechaNacimientoValueDomain );
-// fechaNacimiento.addComponentElement( mesNacimiento );
-// fechaNacimiento.addComponentElement( anyoNacimiento );
- RegisterDataElement sexo = new RegisterDataElement( "sexo", new ClassificationValueDomain( sexoL ) );
-
-// register.setComponentElements( Arrays.asList( new RegisterDataElement[] {fechaNacimiento, sexo} ) );
- register.setComponentElements( Arrays.asList( new RegisterDataElement[] {mesNacimiento, anyoNacimiento, sexo} ) );
-
- Study study = new Study( "study" );
- Questionnaire questionnaire = new Questionnaire( study, register, "questionnaire" );
-
- Question pMesNacimiento = new Question( "pMesNacimiento" );
- pMesNacimiento.setText( "En qué mes naciste?" );
- QuestionnaireElement qMesNacimiento = new QuestionnaireElement( mesNacimiento );
- qMesNacimiento.setQuestion( pMesNacimiento );
- questionnaire.addElement( qMesNacimiento );
-
- Question pAnyoNacimiento = new Question( "pAnyoNacimiento" );
- pAnyoNacimiento.setText( "En qué año naciste?" );
- QuestionnaireElement qAnyoNacimiento = new QuestionnaireElement( anyoNacimiento );
- qAnyoNacimiento.setQuestion( pAnyoNacimiento );
- questionnaire.addElement( qAnyoNacimiento );
-
- Question pSexo = new Question( "pSexo" );
- pSexo.setText( "Sexo" );
- QuestionnaireElement qSexo = new QuestionnaireElement( sexo );
- qSexo.setQuestion( pSexo );
- questionnaire.addElement( qSexo );
-
- return questionnaire;
- }
-
- public static class TempQuestionnaire
- {
- private int mesNacimiento = 1;
- private int anyoNacimiento = 1985;
- // private QuestionnaireRunner.TempSexo sexo = new QuestionnaireRunner.TempSexo( );
-
- private String sexo = QuestionnaireRunner.SEXO.getCurrentVersion( ).getLevels( ).get( 0 ).getItems( ).get( 2 ).getCode( );
-
- public String getSexo( )
+ EntityManager entityManager = null;
+ EntityTransaction transaction = null;
+ QuestionnaireFrame questionnaireFrame = null;
+ try
{
- System.out.println( "Devolviendo valor sexo: " + sexo );
- return sexo;
- }
+ EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory( "hivudvp" );
+ entityManager = entityManagerFactory.createEntityManager( );
+ transaction = entityManager.getTransaction( );
+ transaction.begin( );
- public void setSexo( String sexo )
- {
- System.out.println( "Nuevo valor sexo: " + sexo );
- this.sexo = sexo;
+ Query questionnaireQuery = entityManager.createQuery( "FROM Questionnaire q WHERE q.identifier = :questionnaireIdentifier" );
+ questionnaireQuery.setParameter( "questionnaireIdentifier", args[0] );
+ if( !questionnaireQuery.getResultList( ).isEmpty( ) )
+ {
+ questionnaireFrame = new QuestionnaireFrame( (Questionnaire) questionnaireQuery.getResultList( ).get( 0 ) );
+ questionnaireFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
+ questionnaireFrame.pack( );
+ }
}
-
- public int getMesNacimiento( )
+ finally
{
- System.out.println( "Devolviendo valor mes: " + mesNacimiento );
- return mesNacimiento;
+ if( transaction != null ) transaction.commit( );
+ if( entityManager != null ) entityManager.close( );
}
- public void setMesNacimiento( int mesNacimiento )
- {
- System.out.println( "Nuevo valor mes: " + mesNacimiento );
- this.mesNacimiento = mesNacimiento;
- }
-
- public int getAnyoNacimiento( )
- {
- System.out.println( "Devolviendo valor anyo: " + anyoNacimiento );
- return anyoNacimiento;
- }
-
- public void setAnyoNacimiento( int anyoNacimiento )
- {
- System.out.println( "Nuevo valor anyo: " + anyoNacimiento );
- this.anyoNacimiento = anyoNacimiento;
- }
-
- // public QuestionnaireRunner.TempSexo getSexo( )
- // {
- // return sexo;
- // }
- //
- // public void setSexo( QuestionnaireRunner.TempSexo sexo )
- // {
- // this.sexo = sexo;
- // }
+ if( questionnaireFrame != null ) questionnaireFrame.setVisible( true );
}
-
- public static class TempSexo
- {
- private String sexo = QuestionnaireRunner.SEXO.getCurrentVersion( ).getLevels( ).get( 0 ).getItems( ).get( 2 ).getCode( );
-
- public String getSexo( )
- {
- System.out.println( "Devolviendo valor sexo: " + sexo );
- return sexo;
- }
-
- public void setSexo( String sexo )
- {
- System.out.println( "Nuevo valor sexo: " + sexo );
- this.sexo = sexo;
- }
- }
}
Added: trunk/surveyforge-runner/src/main/resources/META-INF/persistence.xml
===================================================================
--- trunk/surveyforge-runner/src/main/resources/META-INF/persistence.xml (rev 0)
+++ trunk/surveyforge-runner/src/main/resources/META-INF/persistence.xml 2006-09-20 15:28:07 UTC (rev 70)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="hivudvp">
+ <class>org.surveyforge.util.InternationalizedString</class>
+
+ <class>org.surveyforge.classification.Family</class>
+ <class>org.surveyforge.classification.Classification</class>
+ <class>org.surveyforge.classification.Version</class>
+ <class>org.surveyforge.classification.Level</class>
+ <class>org.surveyforge.classification.Item</class>
+
+ <class>org.surveyforge.core.survey.Study</class>
+ <class>org.surveyforge.core.survey.Questionnaire</class>
+ <class>org.surveyforge.core.survey.QuestionnaireElement</class>
+ <class>org.surveyforge.core.survey.Question</class>
+ <class>org.surveyforge.core.survey.Feed</class>
+ <class>org.surveyforge.core.survey.SectionFeed</class>
+
+ <class>org.surveyforge.core.metadata.ValidationRule</class>
+ <class>org.surveyforge.core.metadata.Register</class>
+ <class>org.surveyforge.core.metadata.RegisterDataElement</class>
+ <class>org.surveyforge.core.metadata.ConceptualDataElement</class>
+ <class>org.surveyforge.core.metadata.DataElement</class>
+ <class>org.surveyforge.core.metadata.QuestionDataElement</class>
+ <class>org.surveyforge.core.metadata.ValueDomain</class>
+ <class>org.surveyforge.core.metadata.ObjectVariable</class>
+ <class>org.surveyforge.core.metadata.GlobalVariable</class>
+ <class>org.surveyforge.core.metadata.VariableFamily</class>
+ <class>org.surveyforge.core.metadata.StatisticalObjectType</class>
+
+ <class>org.surveyforge.core.metadata.domain.ClassificationValueDomain</class>
+ <class>org.surveyforge.core.metadata.domain.LogicalValueDomain</class>
+ <class>org.surveyforge.core.metadata.domain.QuantityValueDomain</class>
+ <class>org.surveyforge.core.metadata.domain.StringValueDomain</class>
+ <class>org.surveyforge.core.metadata.domain.StructuredValueDomain</class>
+ <class>org.surveyforge.core.metadata.domain.AbstractValueDomain</class>
+
+ <class>org.surveyforge.core.data.RegisterData</class>
+ <class>org.surveyforge.core.data.ObjectData</class>
+ <class>org.surveyforge.core.data.Data</class>
+
+ <!--
+ <properties>
+ <property name="hibernate.dialect" value="${database.dialect}" />
+ <property name="hibernate.connection.driver_class" value="${database.driver}" />
+ <property name="hibernate.connection.url" value="${database.url}" />
+ <property name="hibernate.connection.username" value="${database.username}" />
+ <property name="hibernate.connection.password" value="${database.password}" />
+ </properties>
+ -->
+ <properties>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
+ <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
+ <property name="hibernate.connection.url" value="jdbc:postgresql://localhost/surveyforge" />
+ <property name="hibernate.connection.username" value="postgres" />
+ <property name="hibernate.connection.password" value="postgres" />
+ </properties>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Property changes on: trunk/surveyforge-runner/src/main/resources/META-INF/persistence.xml
___________________________________________________________________
Name: svn:keywords
+ Date Revision Author HeadURL Id
Added: trunk/surveyforge-runner/src/main/resources/hibernate-entitymanager.jar
===================================================================
(Binary files differ)
Property changes on: trunk/surveyforge-runner/src/main/resources/hibernate-entitymanager.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/surveyforge-runner/src/main/resources/javassist.jar
===================================================================
(Binary files differ)
Property changes on: trunk/surveyforge-runner/src/main/resources/javassist.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/surveyforge-runner/src/main/resources/jboss-archive-browsing.jar
===================================================================
(Binary files differ)
Property changes on: trunk/surveyforge-runner/src/main/resources/jboss-archive-browsing.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|