View Javadoc
1   /*
2    * Copyright (c) 2002-2022, City of Paris
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    *
9    *  1. Redistributions of source code must retain the above copyright notice
10   *     and the following disclaimer.
11   *
12   *  2. Redistributions in binary form must reproduce the above copyright notice
13   *     and the following disclaimer in the documentation and/or other materials
14   *     provided with the distribution.
15   *
16   *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17   *     contributors may be used to endorse or promote products derived from
18   *     this software without specific prior written permission.
19   *
20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30   * POSSIBILITY OF SUCH DAMAGE.
31   *
32   * License 1.0
33   */
34  package fr.paris.lutece.plugins.workflow.modules.comment.business;
35  
36  import fr.paris.lutece.plugins.workflow.utils.WorkflowUtils;
37  import fr.paris.lutece.plugins.workflowcore.business.config.ITaskConfigDAO;
38  import fr.paris.lutece.util.sql.DAOUtil;
39  
40  /**
41   *
42   * TaskCommentConfig
43   *
44   */
45  public class TaskCommentConfigDAO implements ITaskConfigDAO<TaskCommentConfig>
46  {
47      private static final String SQL_QUERY_FIND_BY_PRIMARY_KEY = "SELECT id_task,title,is_mandatory,is_richtext"
48              + " FROM workflow_task_comment_config  WHERE id_task=?";
49      private static final String SQL_QUERY_INSERT = "INSERT INTO  workflow_task_comment_config  " + "(id_task,title,is_mandatory,is_richtext)VALUES(?,?,?,?)";
50      private static final String SQL_QUERY_UPDATE = "UPDATE workflow_task_comment_config " + "SET id_task=?,title=?,is_mandatory=?,is_richtext=? "
51              + " WHERE id_task=?";
52      private static final String SQL_QUERY_DELETE = "DELETE FROM workflow_task_comment_config  WHERE id_task=? ";
53  
54      /**
55       * {@inheritDoc}
56       */
57      @Override
58      public synchronized void insert( TaskCommentConfig config )
59      {
60          try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, WorkflowUtils.getPlugin( ) ) )
61          {
62              int nPos = 0;
63  
64              daoUtil.setInt( ++nPos, config.getIdTask( ) );
65              daoUtil.setString( ++nPos, config.getTitle( ) );
66              daoUtil.setBoolean( ++nPos, config.isMandatory( ) );
67              daoUtil.setBoolean( ++nPos, config.isRichText( ) );
68  
69              daoUtil.executeUpdate( );
70          }
71      }
72  
73      /**
74       * {@inheritDoc}
75       */
76      @Override
77      public void store( TaskCommentConfig config )
78      {
79          try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, WorkflowUtils.getPlugin( ) ) )
80          {
81              int nPos = 0;
82  
83              daoUtil.setInt( ++nPos, config.getIdTask( ) );
84              daoUtil.setString( ++nPos, config.getTitle( ) );
85              daoUtil.setBoolean( ++nPos, config.isMandatory( ) );
86              daoUtil.setBoolean( ++nPos, config.isRichText( ) );
87  
88              daoUtil.setInt( ++nPos, config.getIdTask( ) );
89              daoUtil.executeUpdate( );
90          }
91      }
92  
93      /**
94       * {@inheritDoc}
95       */
96      @Override
97      public TaskCommentConfig load( int nIdState )
98      {
99          TaskCommentConfig config = null;
100         try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_BY_PRIMARY_KEY, WorkflowUtils.getPlugin( ) ) )
101         {
102             daoUtil.setInt( 1, nIdState );
103             daoUtil.executeQuery( );
104 
105             if ( daoUtil.next( ) )
106             {
107                 int nPos = 0;
108                 config = new TaskCommentConfig( );
109                 config.setIdTask( daoUtil.getInt( ++nPos ) );
110                 config.setTitle( daoUtil.getString( ++nPos ) );
111                 config.setMandatory( daoUtil.getBoolean( ++nPos ) );
112                 config.setRichText( daoUtil.getBoolean( ++nPos ) );
113             }
114         }
115         return config;
116     }
117 
118     /**
119      * {@inheritDoc}
120      */
121     @Override
122     public void delete( int nIdState )
123     {
124         try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, WorkflowUtils.getPlugin( ) ) )
125         {
126             daoUtil.setInt( 1, nIdState );
127             daoUtil.executeUpdate( );
128         }
129     }
130 }