1 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 31 public class RepoMondrianConnection extends RepoOlapClientConnection { 32 private RepoReportDataSource dataSource = null; 33 private RepoFileResource schema = null; 34 35 42 public RepoFileResource getSchema() { 43 return schema; 44 } 45 46 49 public void setSchema(RepoFileResource f) { 50 schema = f; 51 } 52 53 59 public RepoReportDataSource getDataSource() { 60 return dataSource; 61 } 62 63 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 getClientItf() { 100 return MondrianConnection.class; 101 } 102 103 } 104 | Popular Tags |