From 45b7c2c3d48a5d057951b05946abb96784e79734 Mon Sep 17 00:00:00 2001 From: Iwamoto-Yoshiki2 Date: Thu, 19 Feb 2026 01:01:59 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Jasper=E3=83=AC=E3=83=9D=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AB=E3=82=AA=E3=83=BC=E3=83=8A=E3=83=BC=E3=83=91=E3=82=B9?= =?UTF-8?q?=E3=83=AF=E3=83=BC=E3=83=89=E5=B1=9E=E6=80=A7=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/template/report/ReportTemplateEditPane.java | 14 +++++++++++++- .../template/ReportTemplateUploadServiceImpl.java | 4 ++++ .../dto/template/ReportTemplateUploadProperty.java | 2 ++ .../src/main/resources/mtp-core-service-config.xml | 2 +- .../mtp/impl/report/JasperReportingEngine.java | 10 +++++++--- .../impl/report/JasperReportingOutputModel.java | 9 +++++++++ .../web/template/report/MetaJasperReportType.java | 14 ++++++++++++++ .../report/definition/JasperReportType.java | 11 +++++++++++ 8 files changed, 61 insertions(+), 5 deletions(-) diff --git a/iplass-admin/src/main/java/org/iplass/adminconsole/client/metadata/ui/template/report/ReportTemplateEditPane.java b/iplass-admin/src/main/java/org/iplass/adminconsole/client/metadata/ui/template/report/ReportTemplateEditPane.java index 213d6279b2..d9618b9e7f 100644 --- a/iplass-admin/src/main/java/org/iplass/adminconsole/client/metadata/ui/template/report/ReportTemplateEditPane.java +++ b/iplass-admin/src/main/java/org/iplass/adminconsole/client/metadata/ui/template/report/ReportTemplateEditPane.java @@ -93,6 +93,8 @@ public class ReportTemplateEditPane extends TemplateTypeEditPane implements HasE private TextItem jasperDataSourceAttributeNameField; /** Jasper PasswordAttributeName */ private TextItem jasperPasswordAttributeNameField; + /** Jasper OwnerPasswordAttributeName */ + private TextItem jasperOwnerPasswordAttributeNameField; /** Poi PasswordAttributeName */ private DynamicForm poiPasswordAttributeNameForm; @@ -226,8 +228,10 @@ public void onSubmit(SubmitEvent event) { jasperDataSourceAttributeNameField.setTitle("DataSource AttributeName"); jasperPasswordAttributeNameField = new MtpTextItem(); jasperPasswordAttributeNameField.setTitle("Password AttributeName"); + jasperOwnerPasswordAttributeNameField = new MtpTextItem(); + jasperOwnerPasswordAttributeNameField.setTitle("Owner Password AttributeName"); - jasperAttributeForm.setItems(jasperDataSourceAttributeNameField, jasperPasswordAttributeNameField); + jasperAttributeForm.setItems(jasperDataSourceAttributeNameField, jasperPasswordAttributeNameField, jasperOwnerPasswordAttributeNameField); //Jasper ParamMap部分 jasperParamMapPane = new JasperReportParamMapGridPane(); @@ -329,6 +333,8 @@ public TemplateDefinition getEditDefinition(TemplateDefinition definition) { //PasswordAttributeName jasperTemplate.setPasswordAttributeName(SmartGWTUtil.getStringValue(jasperPasswordAttributeNameField, true)); + //OwnerPasswordAttributeName + jasperTemplate.setOwnerPasswordAttributeName(SmartGWTUtil.getStringValue(jasperOwnerPasswordAttributeNameField, true)); //パラメータマッピング設定 jasperTemplate.setParamMap(jasperParamMapPane.getParamMap()); @@ -447,6 +453,9 @@ private void addReportTypeParameter(ReportType type, String prefix) { if (!SmartGWTUtil.isEmpty(jasRepo.getPasswordAttributeName())) { addUploadParameter(prefix + ReportTemplateUploadProperty.JASPER_PASSWORD_ATTRIBUTE_NAME, jasRepo.getPasswordAttributeName()); } + if (!SmartGWTUtil.isEmpty(jasRepo.getOwnerPasswordAttributeName())) { + addUploadParameter(prefix + ReportTemplateUploadProperty.JASPER_OWNER_PASSWORD_ATTRIBUTE_NAME, jasRepo.getOwnerPasswordAttributeName()); + } } else if (type instanceof PoiReportType) { addUploadParameter(prefix + ReportTemplateUploadProperty.REPORT_TYPE, PoiReportType.class.getName()); @@ -557,6 +566,7 @@ private void setReportType(ReportType type) { jasperParamMapPane.setParamMap(jasRepo.getParamMap()); jasperDataSourceAttributeNameField.setValue(jasRepo.getDataSourceAttributeName()); jasperPasswordAttributeNameField.setValue(jasRepo.getPasswordAttributeName()); + jasperOwnerPasswordAttributeNameField.setValue(jasRepo.getOwnerPasswordAttributeName()); removeMembers(poiPasswordAttributeNameForm, reportOutPane); removeMembers(jxlsPasswordAttributeNameForm, jxlsContextParamMapPane, jxlsReportOutputLogicPane); beforeReportType = JasperReportType.class.getName(); @@ -653,6 +663,8 @@ public LocalizedReportDefinition getEditLocalizedReportDefinition(LocalizedRepor jasperTemplate.setDataSourceAttributeName(SmartGWTUtil.getStringValue(jasperDataSourceAttributeNameField, true)); //PasswordAttributeName jasperTemplate.setPasswordAttributeName(SmartGWTUtil.getStringValue(jasperPasswordAttributeNameField, true)); + //OwnerPasswordAttributeName + jasperTemplate.setOwnerPasswordAttributeName(SmartGWTUtil.getStringValue(jasperOwnerPasswordAttributeNameField, true)); definition.setReportType(jasperTemplate); } else if (JxlsReportType.class.getName().equals(reportTypeField.getValueAsString())) { diff --git a/iplass-admin/src/main/java/org/iplass/adminconsole/server/metadata/rpc/template/ReportTemplateUploadServiceImpl.java b/iplass-admin/src/main/java/org/iplass/adminconsole/server/metadata/rpc/template/ReportTemplateUploadServiceImpl.java index f75ed58815..dbdb1fc5b5 100644 --- a/iplass-admin/src/main/java/org/iplass/adminconsole/server/metadata/rpc/template/ReportTemplateUploadServiceImpl.java +++ b/iplass-admin/src/main/java/org/iplass/adminconsole/server/metadata/rpc/template/ReportTemplateUploadServiceImpl.java @@ -381,6 +381,10 @@ private ReportType createReportType(HashMap args) { if (StringUtil.isNotEmpty(passwordAttributeName)) { jasperTemplate.setPasswordAttributeName(passwordAttributeName); } + String ownerPasswordAttributeName = (String) args.get(ReportTemplateUploadProperty.JASPER_OWNER_PASSWORD_ATTRIBUTE_NAME); + if (StringUtil.isNotEmpty(ownerPasswordAttributeName)) { + jasperTemplate.setOwnerPasswordAttributeName(ownerPasswordAttributeName); + } return jasperTemplate; } else { diff --git a/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java b/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java index 92f5412b03..5fe5c74fd3 100644 --- a/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java +++ b/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java @@ -61,6 +61,8 @@ public interface ReportTemplateUploadProperty extends UploadProperty { public static final String JASPER_DATASOURCE_ATTRIBUTE_NAME = "jasperDataSourceAttributeName"; /** Jasper PasswordAttributeName */ public static final String JASPER_PASSWORD_ATTRIBUTE_NAME = "jasperPasswordAttributeName"; + /** Jasper OwnerPasswordAttributeName */ + public static final String JASPER_OWNER_PASSWORD_ATTRIBUTE_NAME = "jasperOwnerPasswordAttributeName"; /** Poiレポート出力ロジック形式 */ public static final String POI_LOGIC_NAME = "poiLogicName"; diff --git a/iplass-core/src/main/resources/mtp-core-service-config.xml b/iplass-core/src/main/resources/mtp-core-service-config.xml index 34f74b743c..8ed03e117e 100644 --- a/iplass-core/src/main/resources/mtp-core-service-config.xml +++ b/iplass-core/src/main/resources/mtp-core-service-config.xml @@ -260,7 +260,7 @@ + --> diff --git a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java index 04c7f11112..09c5b89b89 100644 --- a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java +++ b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java @@ -160,6 +160,10 @@ public void exportReport( WebRequestStack context, ReportingOutputModel model ) if (StringUtil.isNotEmpty(jasperModel.getPasswordAttributeName())) { password = (String)getAttribute(request, jasperModel.getPasswordAttributeName()); } + String ownerPassword = null; + if (StringUtil.isNotEmpty(jasperModel.getOwnerPasswordAttributeName())) { + ownerPassword = (String)getAttribute(request, jasperModel.getOwnerPasswordAttributeName()); + } // JasperPrintインスタンス生成 List jrList = new ArrayList(); @@ -180,9 +184,9 @@ public void exportReport( WebRequestStack context, ReportingOutputModel model ) pdfExporter.setExporterOutput(output); SimplePdfExporterConfiguration config = new SimplePdfExporterConfiguration(); - if (StringUtil.isNotEmpty(password)) { - config.setOwnerPassword(password); - config.setUserPassword(password); + if (StringUtil.isNotEmpty(password) || StringUtil.isNotEmpty(ownerPassword)) { + config.setUserPassword(StringUtil.isNotEmpty(password) ? password : null); + config.setOwnerPassword(StringUtil.isNotEmpty(ownerPassword) ? ownerPassword : null); config.setEncrypted(true); } pdfExporter.setConfiguration(config); diff --git a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingOutputModel.java b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingOutputModel.java index 84bfe2f1a7..b7bfc531a6 100644 --- a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingOutputModel.java +++ b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingOutputModel.java @@ -37,6 +37,7 @@ public class JasperReportingOutputModel implements ReportingOutputModel{ private MetaReportParamMap[] maps; private String dataSourceAttributeName; private String passwordAttributeName; + private String ownerPasswordAttributeName; private final String JASPER_STR = "jasper"; private final String JRXML_STR = "jrxml"; @@ -107,4 +108,12 @@ public void setPasswordAttributeName(String passwordAttributeName) { this.passwordAttributeName = passwordAttributeName; } + public String getOwnerPasswordAttributeName() { + return ownerPasswordAttributeName; + } + + public void setOwnerPasswordAttributeName(String ownerPasswordAttributeName) { + this.ownerPasswordAttributeName = ownerPasswordAttributeName; + } + } diff --git a/iplass-web/src/main/java/org/iplass/mtp/impl/web/template/report/MetaJasperReportType.java b/iplass-web/src/main/java/org/iplass/mtp/impl/web/template/report/MetaJasperReportType.java index d53226dffd..eacbf63c8d 100644 --- a/iplass-web/src/main/java/org/iplass/mtp/impl/web/template/report/MetaJasperReportType.java +++ b/iplass-web/src/main/java/org/iplass/mtp/impl/web/template/report/MetaJasperReportType.java @@ -41,6 +41,9 @@ public class MetaJasperReportType extends MetaReportType { /** パスワードAttribute名 */ private String passwordAttributeName; + /** オーナーパスワードAttribute名 */ + private String ownerPasswordAttributeName; + public MetaReportParamMap[] getParamMap() { return paramMap; } @@ -65,6 +68,14 @@ public void setPasswordAttributeName(String passwordAttributeName) { this.passwordAttributeName = passwordAttributeName; } + public String getOwnerPasswordAttributeName() { + return ownerPasswordAttributeName; + } + + public void setOwnerPasswordAttributeName(String ownerPasswordAttributeName) { + this.ownerPasswordAttributeName = ownerPasswordAttributeName; + } + @Override public void applyConfig(ReportType reportType) { JasperReportType def = (JasperReportType)reportType; @@ -85,6 +96,7 @@ public void applyConfig(ReportType reportType) { dataSourceAttributeName = def.getDataSourceAttributeName(); passwordAttributeName = def.getPasswordAttributeName(); + ownerPasswordAttributeName = def.getOwnerPasswordAttributeName(); } @Override @@ -104,6 +116,7 @@ public ReportType currentConfig() { definition.setDataSourceAttributeName(dataSourceAttributeName); definition.setPasswordAttributeName(passwordAttributeName); + definition.setOwnerPasswordAttributeName(ownerPasswordAttributeName); return definition; } @@ -136,6 +149,7 @@ public void setParam(ReportingOutputModel createOutputModel) { model.setMaps(paramMap); } model.setPasswordAttributeName(passwordAttributeName); + model.setOwnerPasswordAttributeName(ownerPasswordAttributeName); } } } diff --git a/iplass-web/src/main/java/org/iplass/mtp/web/template/report/definition/JasperReportType.java b/iplass-web/src/main/java/org/iplass/mtp/web/template/report/definition/JasperReportType.java index 9b3d510a41..3a56e6b392 100644 --- a/iplass-web/src/main/java/org/iplass/mtp/web/template/report/definition/JasperReportType.java +++ b/iplass-web/src/main/java/org/iplass/mtp/web/template/report/definition/JasperReportType.java @@ -44,6 +44,9 @@ public class JasperReportType extends ReportType { /** パスワードAttribute名 */ private String passwordAttributeName; + /** オーナーパスワードAttribute名 */ + private String ownerPasswordAttributeName; + public ReportParamMapDefinition[] getParamMap() { return paramMap; } @@ -68,4 +71,12 @@ public void setPasswordAttributeName(String passwordAttributeName) { this.passwordAttributeName = passwordAttributeName; } + public String getOwnerPasswordAttributeName() { + return ownerPasswordAttributeName; + } + + public void setOwnerPasswordAttributeName(String ownerPasswordAttributeName) { + this.ownerPasswordAttributeName = ownerPasswordAttributeName; + } + } From f1f473bce1f2d246aef18549bef7b509cd0e30d7 Mon Sep 17 00:00:00 2001 From: Iwamoto-Yoshiki2 Date: Thu, 19 Feb 2026 03:33:12 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E3=82=B9=E3=83=9A=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=81=AE=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metadata/dto/template/ReportTemplateUploadProperty.java | 2 ++ iplass-core/src/main/resources/mtp-core-service-config.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java b/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java index 5fe5c74fd3..2774ef63b3 100644 --- a/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java +++ b/iplass-admin/src/main/java/org/iplass/adminconsole/shared/metadata/dto/template/ReportTemplateUploadProperty.java @@ -59,8 +59,10 @@ public interface ReportTemplateUploadProperty extends UploadProperty { /** Jasper DataSourceAttributeName */ public static final String JASPER_DATASOURCE_ATTRIBUTE_NAME = "jasperDataSourceAttributeName"; + /** Jasper PasswordAttributeName */ public static final String JASPER_PASSWORD_ATTRIBUTE_NAME = "jasperPasswordAttributeName"; + /** Jasper OwnerPasswordAttributeName */ public static final String JASPER_OWNER_PASSWORD_ATTRIBUTE_NAME = "jasperOwnerPasswordAttributeName"; diff --git a/iplass-core/src/main/resources/mtp-core-service-config.xml b/iplass-core/src/main/resources/mtp-core-service-config.xml index 8ed03e117e..34f74b743c 100644 --- a/iplass-core/src/main/resources/mtp-core-service-config.xml +++ b/iplass-core/src/main/resources/mtp-core-service-config.xml @@ -260,7 +260,7 @@ + --> From 8e34b8f37dacc6376e8c7dce3c40faa825bda1fd Mon Sep 17 00:00:00 2001 From: Iwamoto-Yoshiki2 Date: Thu, 19 Feb 2026 16:15:35 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BE=8C=E6=96=B9=E4=BA=92=E6=8F=9B?= =?UTF-8?q?=E6=80=A7=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iplass/mtp/impl/report/JasperReportingEngine.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java index 09c5b89b89..7517532053 100644 --- a/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java +++ b/iplass-web/src/main/java/org/iplass/mtp/impl/report/JasperReportingEngine.java @@ -185,9 +185,16 @@ public void exportReport( WebRequestStack context, ReportingOutputModel model ) SimplePdfExporterConfiguration config = new SimplePdfExporterConfiguration(); if (StringUtil.isNotEmpty(password) || StringUtil.isNotEmpty(ownerPassword)) { - config.setUserPassword(StringUtil.isNotEmpty(password) ? password : null); - config.setOwnerPassword(StringUtil.isNotEmpty(ownerPassword) ? ownerPassword : null); config.setEncrypted(true); + if (StringUtil.isNotEmpty(password)) { + config.setUserPassword(password); + } + if (StringUtil.isNotEmpty(ownerPassword)) { + config.setOwnerPassword(ownerPassword); + } else if (StringUtil.isNotEmpty(password)) { + // ownerパスワードがnullの場合は下位互換性のためuserパスワードをセット + config.setOwnerPassword(password); + } } pdfExporter.setConfiguration(config);