add userhierarchy parameter for pentaho reprots and change pentaho directory location
This commit is contained in:
+15
-5
@@ -27,7 +27,6 @@ import org.apache.commons.lang.StringUtils;
|
|||||||
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
|
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
|
||||||
import org.mifosplatform.infrastructure.core.service.FileUtils;
|
import org.mifosplatform.infrastructure.core.service.FileUtils;
|
||||||
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
|
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
|
||||||
import org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil;
|
|
||||||
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
|
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
|
||||||
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetColumnHeader;
|
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetColumnHeader;
|
||||||
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetDataRow;
|
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetDataRow;
|
||||||
@@ -310,10 +309,13 @@ public class ReadReportingServiceImpl implements ReadReportingService {
|
|||||||
// String reportPath =
|
// String reportPath =
|
||||||
// "C:\\dev\\apache-tomcat-7.0.25\\webapps\\ROOT\\PentahoReports\\"
|
// "C:\\dev\\apache-tomcat-7.0.25\\webapps\\ROOT\\PentahoReports\\"
|
||||||
// + reportName + ".prpt";
|
// + reportName + ".prpt";
|
||||||
String reportPath = FileUtils.MIFOSX_BASE_DIR
|
/*String reportPath = FileUtils.MIFOSX_BASE_DIR
|
||||||
+ File.separator
|
+ File.separator
|
||||||
+ ThreadLocalContextUtil.getTenant().getName()
|
+ ThreadLocalContextUtil.getTenant().getName()
|
||||||
.replaceAll(" ", "").trim() + File.separator
|
.replaceAll(" ", "").trim() + File.separator
|
||||||
|
+ "reports" + File.separator + reportName + ".prpt";*/
|
||||||
|
String reportPath = FileUtils.MIFOSX_BASE_DIR
|
||||||
|
+ File.separator
|
||||||
+ "reports" + File.separator + reportName + ".prpt";
|
+ "reports" + File.separator + reportName + ".prpt";
|
||||||
logger.info("Report path: " + reportPath);
|
logger.info("Report path: " + reportPath);
|
||||||
|
|
||||||
@@ -385,9 +387,11 @@ public class ReadReportingServiceImpl implements ReadReportingService {
|
|||||||
private void addParametersToReport(final MasterReport report,
|
private void addParametersToReport(final MasterReport report,
|
||||||
final Map<String, String> queryParams) {
|
final Map<String, String> queryParams) {
|
||||||
|
|
||||||
// AppUser currentUser = context.authenticatedUser();
|
AppUser currentUser = context.authenticatedUser();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
logger.info("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
|
||||||
ReportParameterValues rptParamValues = report.getParameterValues();
|
ReportParameterValues rptParamValues = report.getParameterValues();
|
||||||
ReportParameterDefinition paramsDefinition = report
|
ReportParameterDefinition paramsDefinition = report
|
||||||
.getParameterDefinition();
|
.getParameterDefinition();
|
||||||
@@ -402,7 +406,7 @@ public class ReadReportingServiceImpl implements ReadReportingService {
|
|||||||
for (ParameterDefinitionEntry paramDefEntry : paramsDefinition
|
for (ParameterDefinitionEntry paramDefEntry : paramsDefinition
|
||||||
.getParameterDefinitions()) {
|
.getParameterDefinitions()) {
|
||||||
String paramName = paramDefEntry.getName();
|
String paramName = paramDefEntry.getName();
|
||||||
if (!(paramName.equals("tenantdb"))) {
|
if (!((paramName.equals("tenantdb")) || (paramName.equals("userhierarchy")))) {
|
||||||
logger.info("paramName:" + paramName);
|
logger.info("paramName:" + paramName);
|
||||||
String pValue = queryParams.get(paramName);
|
String pValue = queryParams.get(paramName);
|
||||||
if (StringUtils.isBlank(pValue))
|
if (StringUtils.isBlank(pValue))
|
||||||
@@ -426,9 +430,15 @@ public class ReadReportingServiceImpl implements ReadReportingService {
|
|||||||
else
|
else
|
||||||
rptParamValues.put(paramName, pValue);
|
rptParamValues.put(paramName, pValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tenant database name and current user's office hierarchy
|
||||||
|
// passed as parameters to allow multitenant penaho reporting and
|
||||||
|
// data scoping
|
||||||
String tenantdb = dataSource.getConnection().getCatalog();
|
String tenantdb = dataSource.getConnection().getCatalog();
|
||||||
logger.info("db name:" + tenantdb);
|
String userhierarchy = currentUser.getOffice().getHierarchy();
|
||||||
|
logger.info("db name:" + tenantdb + " userhierarchy:" + userhierarchy);
|
||||||
rptParamValues.put("tenantdb", tenantdb);
|
rptParamValues.put("tenantdb", tenantdb);
|
||||||
|
rptParamValues.put("userhierarchy", userhierarchy);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user