001: package de.webman.form.db.queries;
002:
003: import java.sql.Connection;
004: import com.teamkonzept.db.TKPrepQuery;
005: import de.webman.form.db.FormConstants;
006:
007: /**
008: * Selects all document types referenced by the specified form definition.
009: * <TABLE>
010: * <TR>
011: * <TD><B>Order</B></TD>
012: * <TD><B>Name</B></TD>
013: * <TD><B>Type</B></TD>
014: * </TR>
015: * <TR>
016: * <TD COLSPAN="3"><I>Parameters</I></TD>
017: * </TR>
018: * <TR>
019: * <TD><TT>1</TT></TD>
020: * <TD><TT>de.webman.form.db.FormConstants.FORM_ID</TT></TD>
021: * <TD><TT>java.lang.Integer</TT></TD>
022: * </TR>
023: * <TR>
024: * <TD COLSPAN="3"><I>Results</I></TD>
025: * </TR>
026: * <TR>
027: * <TD><TT>1</TT></TD>
028: * <TD><TT>PRESENTATION.PRESENTATION_ID</TT></TD>
029: * <TD><TT>java.lang.String</TT></TD>
030: * </TR>
031: * <TR>
032: * <TD><TT>2</TT></TD>
033: * <TD><TT>PRESENTATION.PRESENTATION_NAME</TT></TD>
034: * <TD><TT>java.lang.String</TT></TD>
035: * </TR>
036: * <TR>
037: * <TD><TT>3</TT></TD>
038: * <TD><TT>PRESENTATION_COMPONENT.PRESENTATION_COMPONENT_IDX</TT></TD>
039: * <TD><TT>java.lang.String</TT></TD>
040: * </TR>
041: * <TR>
042: * <TD><TT>4</TT></TD>
043: * <TD><TT>PRESENTATION_COMPONENT.INTEGRATION_NAME</TT></TD>
044: * <TD><TT>java.lang.String</TT></TD>
045: * </TR>
046: * </TABLE>
047: *
048: * @author $Author: uli $
049: * @version $Revision: 1.4 $
050: */
051: public class SelectReferencedDocumentTypes extends TKPrepQuery {
052:
053: // Constants.
054:
055: /**
056: * The preparation state.
057: */
058: private final static boolean IS_PREPARED = true;
059:
060: /**
061: * The parameter order.
062: */
063: private final static String[] PARAMETER_ORDER = { FormConstants.COLUMN_NAMES[FormConstants.FORM_ID] };
064:
065: /**
066: * The parameter types.
067: */
068: private final static Object[][] PARAMETER_TYPES = { {
069: FormConstants.COLUMN_NAMES[FormConstants.FORM_ID],
070: FormConstants.COLUMN_TYPES[FormConstants.FORM_ID] } };
071:
072: /**
073: * The relevance state.
074: */
075: private final static boolean[] SET_RELEVANTS = { true };
076:
077: /**
078: * The SQL statement.
079: */
080: private final static String SQL_STRING = "SELECT DISTINCT P.PRESENTATION_ID, P.PRESENTATION_NAME, PC.PRESENTATION_COMPONENT_IDX, PC.INTEGRATION_NAME "
081: + "FROM PRESENTATION P, PRESENTATION_COMPONENT PC, PRESENTATION_CONTENT PCO "
082: + "WHERE PCO.FORM_ID = ? "
083: + "AND PCO.PRESENTATION_COMPONENT_IDX = PC.PRESENTATION_COMPONENT_IDX "
084: + "AND PCO.PRESENTATION_ID = PC.PRESENTATION_ID "
085: + "AND PCO.PRESENTATION_ID = P.PRESENTATION_ID "
086: + "ORDER BY P.PRESENTATION_ID, PC.PRESENTATION_COMPONENT_IDX";
087:
088: // Implementation of 'com.teamkonzept.db.TKQuery'
089:
090: /**
091: * Initializes the query with the given connection.
092: *
093: * @param connection the connection.
094: */
095: public void initQuery(Connection connection) {
096: super.initQuery(connection, IS_PREPARED, PARAMETER_ORDER,
097: PARAMETER_TYPES, SET_RELEVANTS, SQL_STRING);
098: }
099:
100: }
|