KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > metadata > olap > domain > impl > hibernate > RepoMondrianConnection


1 /*
2  * JasperServer.
3  * All rights reserved.
4  * Copyright (C) 2006 JasperSoft Corporation
5  *
6  * JasperSoft Corporation
7  * 303 Second Street, Suite 450 North
8  * San Francisco, CA 94107
9  * http://www.jaspersoft.com
10  */

11
12 package com.jaspersoft.jasperserver.api.metadata.olap.domain.impl.hibernate;
13
14 import com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource;
15 import com.jaspersoft.jasperserver.api.metadata.common.domain.Resource;
16 import com.jaspersoft.jasperserver.api.metadata.common.domain.ResourceReference;
17 import com.jaspersoft.jasperserver.api.metadata.common.service.ResourceFactory;
18 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.ReferenceResolver;
19 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoFileResource;
20 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent.RepoResource;
21 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource;
22 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.impl.datasource.RepoReportDataSource;
23 import com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection;
24
25 /**
26  * @author swood
27  *
28  * @hibernate.joined-subclass table="MondrianConnection"
29  * @hibernate.joined-subclass-key column="id"
30  */

31 public class RepoMondrianConnection extends RepoOlapClientConnection {
32     private RepoReportDataSource dataSource = null;
33     private RepoFileResource schema = null;
34
35     /**
36      * @hibernate.many-to-one
37      * column="mondrianSchema"
38      *
39      * @see com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection#getSchema()
40      *
41      */

42     public RepoFileResource getSchema() {
43         return schema;
44     }
45
46     /**
47      * @see com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection#setSchema(com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource)
48      */

49     public void setSchema(RepoFileResource f) {
50         schema = f;
51     }
52
53     /**
54      * @hibernate.many-to-one
55      * column="dataSource"
56      *
57      * @see com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection#getDataSource()
58      */

59     public RepoReportDataSource getDataSource() {
60         return dataSource;
61     }
62
63     /**
64      * @see com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianConnection#setDataSource(com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource)
65      */

66     public void setDataSource(RepoReportDataSource ds) {
67         dataSource = ds;
68     }
69
70     protected void copyTo(Resource clientRes, ResourceFactory resourceFactory) {
71         super.copyTo(clientRes, resourceFactory);
72
73         MondrianConnection conn = (MondrianConnection) clientRes;
74         conn.setDataSource(getClientReference(getDataSource(), resourceFactory));
75         conn.setSchema(getClientReference( getSchema(), resourceFactory));
76     }
77
78     protected void copyFrom(Resource clientRes, ReferenceResolver referenceResolver) {
79         super.copyFrom(clientRes, referenceResolver);
80
81         MondrianConnection conn = (MondrianConnection) clientRes;
82         copyDataSource(referenceResolver, conn);
83         copySchema(referenceResolver, conn);
84     }
85
86
87     private void copyDataSource(ReferenceResolver referenceResolver, MondrianConnection conn) {
88         ResourceReference ds = conn.getDataSource();
89         RepoReportDataSource repoDS = (RepoReportDataSource) getReference(ds, RepoReportDataSource.class, referenceResolver);
90         setDataSource(repoDS);
91     }
92
93     private void copySchema(ReferenceResolver referenceResolver, MondrianConnection conn) {
94         ResourceReference report = conn.getSchema();
95         RepoFileResource repoReport = (RepoFileResource) getReference(report, RepoFileResource.class, referenceResolver);
96         setSchema(repoReport);
97     }
98
99     protected Class JavaDoc getClientItf() {
100         return MondrianConnection.class;
101     }
102
103 }
104
Popular Tags