KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > metadata > common > service > impl > hibernate > persistent > RepoQuery


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent;
22
23 import com.jaspersoft.jasperserver.api.metadata.common.domain.Query;
24 import com.jaspersoft.jasperserver.api.metadata.common.domain.Resource;
25 import com.jaspersoft.jasperserver.api.metadata.common.domain.ResourceReference;
26 import com.jaspersoft.jasperserver.api.metadata.common.service.ResourceFactory;
27 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.ReferenceResolver;
28 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource;
29
30
31 /**
32  * @author Teodor Danciu (teodord@users.sourceforge.net)
33  * @version $Id: RepoQuery.java 4461 2006-09-07 15:42:20Z lucian $
34  *
35  * @hibernate.joined-subclass table="JSQuery"
36  * @hibernate.joined-subclass-key column="id"
37  */

38 public class RepoQuery extends RepoResource
39 {
40     
41     private RepoReportDataSource dataSource = null;
42     private String JavaDoc language;
43     private String JavaDoc sql;
44
45
46     /**
47      * @hibernate.many-to-one
48      * column="reportDataSource"
49      */

50     public RepoReportDataSource getDataSource()
51     {
52         return dataSource;
53     }
54     
55     /**
56      *
57      */

58     public void setDataSource(RepoReportDataSource dataSource)
59     {
60         this.dataSource = dataSource;
61     }
62     
63     /**
64      * @hibernate.property
65      * column="sql_query" type="string" length="2000" not-null="true"
66      */

67     public String JavaDoc getSql() {
68         return sql;
69     }
70
71
72     public void setSql(String JavaDoc sql) {
73         this.sql = sql;
74     }
75
76     protected Class JavaDoc getClientItf() {
77         return Query.class;
78     }
79
80
81     protected void copyFrom(Resource clientRes, ReferenceResolver referenceResolver) {
82         super.copyFrom(clientRes, referenceResolver);
83         
84         Query query = (Query) clientRes;
85         copyDataSource(referenceResolver, query);
86         setLanguage(query.getLanguage());
87         setSql(query.getSql());
88     }
89
90
91     protected void copyTo(Resource clientRes, ResourceFactory resourceFactory) {
92         super.copyTo(clientRes, resourceFactory);
93         
94         Query query = (Query) clientRes;
95         query.setDataSource(getClientReference(getDataSource(), resourceFactory));
96         query.setLanguage(getLanguage());
97         query.setSql(getSql());
98     }
99
100     private void copyDataSource(ReferenceResolver referenceResolver, Query query) {
101         ResourceReference ds = query.getDataSource();
102         if (ds != null) {
103             RepoReportDataSource repoDS = (RepoReportDataSource) getReference(ds, RepoReportDataSource.class, referenceResolver);
104             setDataSource(repoDS);
105         } else {
106             setDataSource(null);
107         }
108     }
109
110     public String JavaDoc getLanguage() {
111         return language;
112     }
113
114     public void setLanguage(String JavaDoc language) {
115         this.language = language;
116     }
117 }
118
Popular Tags