This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git. from faf2827 Improved: Prevent recurring errors block due to generateTokenForNonAjax new 47e5a1a Improved: Convert FixedAssetTests from XML to Groovy. (OFBIZ-11546)(OFBIZ-11547)(OFBIZ-11548)(OFBIZ-11549)(OFBIZ-11550)(OFBIZ-11551)(OFBIZ-11552) Thanks: Rohit for reporting. new e8e9db5 Improved: Prevent recurring errors block due to generateTokenForNonAjax The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: applications/accounting/FixedAssetTests.groovy | 47 ------- .../accounting/minilang/test/FixedAssetTests.xml | 154 --------------------- .../apache/ofbiz/accounting/FixedAssetTests.groovy | 146 +++++++++++++++++++ .../testdef/data/AccountingTestsData.xml | 2 + .../accounting/testdef/fixedassettests.xml | 4 + .../java/org/apache/ofbiz/security/CsrfUtil.java | 2 +- 6 files changed, 153 insertions(+), 202 deletions(-) delete mode 100644 applications/accounting/FixedAssetTests.groovy delete mode 100644 applications/accounting/minilang/test/FixedAssetTests.xml create mode 100644 applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy |
This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git commit 47e5a1ad5e01446f060b53f00a9c839eccd4d7f5 Author: Suraj Khurana <[hidden email]> AuthorDate: Mon Apr 27 15:12:51 2020 +0530 Improved: Convert FixedAssetTests from XML to Groovy. (OFBIZ-11546)(OFBIZ-11547)(OFBIZ-11548)(OFBIZ-11549)(OFBIZ-11550)(OFBIZ-11551)(OFBIZ-11552) Thanks: Rohit for reporting. --- applications/accounting/FixedAssetTests.groovy | 47 ------- .../accounting/minilang/test/FixedAssetTests.xml | 154 --------------------- .../apache/ofbiz/accounting/FixedAssetTests.groovy | 146 +++++++++++++++++++ .../testdef/data/AccountingTestsData.xml | 2 + .../accounting/testdef/fixedassettests.xml | 4 + 5 files changed, 152 insertions(+), 201 deletions(-) diff --git a/applications/accounting/FixedAssetTests.groovy b/applications/accounting/FixedAssetTests.groovy deleted file mode 100644 index dc718d0..0000000 --- a/applications/accounting/FixedAssetTests.groovy +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.ofbiz.accounting; - -import org.apache.ofbiz.base.util.UtilDateTime -import org.apache.ofbiz.entity.GenericValue -import org.apache.ofbiz.entity.util.EntityQuery -import org.apache.ofbiz.service.ServiceUtil -import org.apache.ofbiz.service.testtools.OFBizTestCase - -class FixedAssetTests extends OFBizTestCase { - public FixedAssetTests(String name) { - super(name) - } - void testUpdateFixedAssetMeter() { - Map serviceCtx = [ - fixedAssetId : '1000', - productMeterTypeId : 'ODOMETER', - readingDate : UtilDateTime.toTimestamp("24/12/2019 00:00:00"), - userLogin : userLogin - ] - Map serviceResult = dispatcher.runSync('updateFixedAssetMeter', serviceCtx) - assert ServiceUtil.isSuccess(serviceResult) - - GenericValue FixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter') - .where('fixedAssetId', '1000', 'productMeterTypeId', 'ODOMETER') - .filterByDate() - .queryOne(); - assert FixedAssetMeter - } -} \ No newline at end of file diff --git a/applications/accounting/minilang/test/FixedAssetTests.xml b/applications/accounting/minilang/test/FixedAssetTests.xml deleted file mode 100644 index 5e2d549..0000000 --- a/applications/accounting/minilang/test/FixedAssetTests.xml +++ /dev/null @@ -1,154 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd"> - - <simple-method method-name="testCreateFixedAssetRegistration" short-description="Test case for service createFixedAssetRegistration" login-required="false"> - <set field="serviceCtx.fixedAssetId" value="DEMO_VEHICLE_01"/> - <set field="serviceCtx.licenseNumber" value="123456"/> - <set field="serviceCtx.registrationNumber" value="123456"/> - <set field="serviceCtx.registrationDate" value="2009-12-24 12:33:23.703" type="Timestamp"/> - <set field="serviceCtx.fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/> - <set field="serviceCtx.thruDate" value="2010-12-25 12:33:18.365" type="Timestamp"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <call-service service-name="createFixedAssetRegistration" in-map-name="serviceCtx"/> - - <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration"> - <field-map field-name="fixedAssetId" from-field="serviceCtx.fixedAssetId"/> - <field-map field-name="fromDate" from-field="serviceCtx.fromDate"/> - </entity-one> - <assert> - <not><if-empty field="fixedAssetRegistration"/></not> - </assert> - <check-errors/> - </simple-method> - - <simple-method method-name="testUpdateFixedAssetRegistration" short-description="Test case for service updateFixedAssetRegistration" login-required="false"> - <set field="fixedAssetId" value="DEMO_VEHICLE_01"/> - <set field="registrationDate" value="2010-12-24 12:33:23.703" type="Timestamp"/> - <set field="fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/> - <set field="thruDate" value="2033-12-25 12:33:18.365" type="Timestamp"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/> - <set field="serviceCtx.registrationDate" from-field="registrationDate"/> - <set field="serviceCtx.fromDate" from-field="fromDate"/> - <set field="serviceCtx.thruDate" from-field="thruDate"/> - <call-service service-name="updateFixedAssetRegistration" in-map-name="serviceCtx"/> - - <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration"/> - <assert> - <not><if-empty field="fixedAssetRegistration"/></not> - <if-compare-field field="fixedAssetRegistration.thruDate" operator="equals" to-field="thruDate"/> - <if-compare-field field="fixedAssetRegistration.registrationDate" operator="equals" to-field="registrationDate"/> - </assert> - <check-errors/> - </simple-method> - - <simple-method method-name="testDeleteFixedAssetRegistration" short-description="Test case for service deleteFixedAssetRegistration" login-required="false"> - <set field="fixedAssetId" value="DEMO_VEHICLE_01"/> - <set field="fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/> - <set field="serviceCtx.fromDate" from-field="fromDate"/> - <call-service service-name="deleteFixedAssetRegistration" in-map-name="serviceCtx"/> - - <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration"/> - <assert> - <if-empty field="fixedAssetRegistration"/> - </assert> - <check-errors/> - </simple-method> - - <simple-method method-name="testCreateFixedAssetMeter" short-description="Test case for service createFixedAssetMeter" login-required="false"> - <set field="fixedAssetId" value="DEMO_VEHICLE_01"/> - <set field="productMeterTypeId" value="ODOMETER"/> - <set field="readingDate" value="2009-12-24 00:00:00.000" type="Timestamp"/> - <set field="meterValue" value="65" type="BigDecimal"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/> - <set field="serviceCtx.productMeterTypeId" from-field="productMeterTypeId"/> - <set field="serviceCtx.readingDate" from-field="readingDate"/> - <set field="serviceCtx.meterValue" from-field="meterValue"/> - <call-service service-name="createFixedAssetMeter" in-map-name="serviceCtx"/> - - <entity-one entity-name="FixedAssetMeter" value-field="fixedAssetMeter"/> - <assert> - <not><if-empty field="fixedAssetMeter"/></not> - </assert> - <check-errors/> - </simple-method> - - - <simple-method method-name="testDeleteFixedAssetMeter" short-description="Test case for service deleteFixedAssetMeter" login-required="false"> - <set field="fixedAssetId" value="DEMO_VEHICLE_01"/> - <set field="productMeterTypeId" value="ODOMETER"/> - <set field="readingDate" value="2009-12-24 00:00:00.000" type="Timestamp"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/> - <set field="serviceCtx.productMeterTypeId" from-field="productMeterTypeId"/> - <set field="serviceCtx.readingDate" from-field="readingDate"/> - <call-service service-name="deleteFixedAssetMeter" in-map-name="serviceCtx"/> - - <entity-one entity-name="FixedAssetMeter" value-field="fixedAssetMeter"/> - <assert> - <if-empty field="fixedAssetMeter"/> - </assert> - <check-errors/> - </simple-method> - - <simple-method method-name="testCreateFixedAssetGeoPoint" short-description="Test case for service createFixedAssetGeoPoint" login-required="false"> - <set field="geoPointId" value="9000"/> - <set field="fixedAssetId" value="DEMO_VEHICLE_01"/> - <entity-one entity-name="UserLogin" value-field="userLogin"> - <field-map field-name="userLoginId" value="system"/> - </entity-one> - <set field="serviceCtx.userLogin" from-field="userLogin"/> - <set field="serviceCtx.geoPointId" from-field="geoPointId"/> - <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/> - <call-service service-name="createFixedAssetGeoPoint" in-map-name="serviceCtx"/> - <entity-and entity-name="FixedAssetGeoPoint" list="fixedAssetGeoPoints" filter-by-date="true"> - <field-map field-name="geoPointId"/> - <field-map field-name="fixedAssetId"/> - </entity-and> - <first-from-list list="fixedAssetGeoPoints" entry="fixedAssetGeoPoint"/> - <assert> - <not><if-empty field="fixedAssetGeoPoint"/></not> - <if-compare-field field="fixedAssetGeoPoint.geoPointId" operator="equals" to-field="geoPointId"/> - <if-compare-field field="fixedAssetGeoPoint.fixedAssetId" operator="equals" to-field="fixedAssetId"/> - </assert> - <check-errors/> - </simple-method> -</simple-methods> diff --git a/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy new file mode 100644 index 0000000..087ccad --- /dev/null +++ b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ofbiz.accounting; + +import org.apache.ofbiz.base.util.UtilDateTime +import org.apache.ofbiz.entity.GenericValue +import org.apache.ofbiz.entity.util.EntityQuery +import org.apache.ofbiz.service.ServiceUtil +import org.apache.ofbiz.service.testtools.OFBizTestCase +import java.sql.Timestamp + +class FixedAssetTests extends OFBizTestCase { + public FixedAssetTests(String name) { + super(name) + } + void testCreateFixedAssetRegistration() { + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + licenseNumber : '123456', + registrationNumber : 'abcdef', + registrationDate : UtilDateTime.toTimestamp("01/01/2020 00:00:00"), + fromDate : UtilDateTime.nowTimestamp(), + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('createFixedAssetRegistration', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration') + .where('fixedAssetId', 'DEMO_VEHICLE_01') + .filterByDate().queryFirst(); + assert fixedAssetRegistration + } + void testUpdateFixedAssetRegistration() { + Timestamp fromDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00") + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + licenseNumber : 'updated-123456', + registrationNumber : 'updated-abcdef', + registrationDate : UtilDateTime.toTimestamp("01/01/2020 00:00:00"), + fromDate : fromDate, + thruDate : UtilDateTime.nowTimestamp(), + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('updateFixedAssetRegistration', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'fromDate', fromDate) + .filterByDate().queryOne(); + assert fixedAssetRegistration == null + } + void testDeleteFixedAssetRegistration() { + Timestamp fromDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00") + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + fromDate : fromDate, + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('deleteFixedAssetRegistration', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'fromDate', fromDate) + .queryOne(); + assert fixedAssetRegistration == null + } + void testCreateFixedAssetMeter() { + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + productMeterTypeId : 'ODOMETER', + readingDate : UtilDateTime.nowTimestamp(), + meterValue : BigDecimal.valueOf(65), + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('createFixedAssetMeter', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER') + .queryFirst(); + assert fixedAssetMeter + } + void testUpdateFixedAssetMeter() { + Timestamp readingDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00") + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + productMeterTypeId : 'ODOMETER', + readingDate : readingDate, + meterValue : BigDecimal.valueOf(85), + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('updateFixedAssetMeter', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER', 'readingDate', readingDate) + .queryOne(); + assert fixedAssetMeter + } + void testDeleteFixedAssetMeter() { + Timestamp readingDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00") + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + productMeterTypeId : 'ODOMETER', + readingDate : readingDate, + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('deleteFixedAssetMeter', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER', 'readingDate', readingDate) + .queryOne(); + assert fixedAssetMeter == null + } + void testCreateFixedAssetGeoPoint() { + Map serviceCtx = [ + fixedAssetId : 'DEMO_VEHICLE_01', + geoPointId : '9000', + userLogin : userLogin + ] + Map serviceResult = dispatcher.runSync('createFixedAssetGeoPoint', serviceCtx) + assert ServiceUtil.isSuccess(serviceResult) + + GenericValue fixedAssetGeoPoint = EntityQuery.use(delegator).from('FixedAssetGeoPoint') + .where('fixedAssetId', 'DEMO_VEHICLE_01', 'geoPointId', '9000') + .filterByDate().queryFirst(); + assert fixedAssetGeoPoint + } +} \ No newline at end of file diff --git a/applications/accounting/testdef/data/AccountingTestsData.xml b/applications/accounting/testdef/data/AccountingTestsData.xml index 2eb5e34..c87d0ad 100644 --- a/applications/accounting/testdef/data/AccountingTestsData.xml +++ b/applications/accounting/testdef/data/AccountingTestsData.xml @@ -84,6 +84,8 @@ under the License. <!-- For Testing service cancelFixedAssetStdCost --> <FixedAsset fixedAssetId="1000" fixedAssetTypeId="REAL_ESTATE" partyId="DEMO_COMPANY" roleTypeId="INTERNAL_ORGANIZATIO"/> <FixedAssetStdCost fixedAssetId="1000" fixedAssetStdCostTypeId="SETUP_COST" fromDate="2016-11-03 00:00:00" amountUomId="USD" amount="1000.00"/> + <FixedAssetMeter fixedAssetId="DEMO_VEHICLE_01" meterValue="10.000000" productMeterTypeId="ODOMETER" readingDate="2020-04-01 00:00:00.0"/> + <FixedAssetRegistration fixedAssetId="DEMO_VEHICLE_01" fromDate="2020-04-01 00:00:00.0" registrationDate="2020-04-01 00:00:00.0" registrationNumber="abcde"/> <!-- For Testing service copyInvoice --> <Invoice invoiceId="1000" invoiceTypeId="PURCHASE_INVOICE" partyIdFrom="DEMO_COMPANY" partyId="DEMO_COMPANY1" invoiceDate="2016-11-03 00:00:00"/> <Invoice invoiceId="1001" invoiceTypeId="PURCHASE_INVOICE" partyIdFrom="DEMO_COMPANY" partyId="DEMO_COMPANY1" invoiceDate="2016-11-03 00:00:00"/> diff --git a/applications/accounting/testdef/fixedassettests.xml b/applications/accounting/testdef/fixedassettests.xml index 29b5366..5ef6629 100644 --- a/applications/accounting/testdef/fixedassettests.xml +++ b/applications/accounting/testdef/fixedassettests.xml @@ -22,6 +22,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd"> + <test-case case-name="accounting-tests-data-load"> + <entity-xml action="load" entity-xml-url="component://accounting/testdef/data/AccountingTestsData.xml"/> + </test-case> + <test-case case-name="fixedasset-tests"> <junit-test-suite class-name="org.apache.ofbiz.accounting.FixedAssetTests"/> </test-case> |
In reply to this post by jleroux@apache.org
This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git commit e8e9db5b1a0d54a94d5c47ff7e0cff1c2e94ee57 Author: Jacques Le Roux <[hidden email]> AuthorDate: Mon Apr 27 14:29:14 2020 +0200 Improved: Prevent recurring errors block due to generateTokenForNonAjax (OFBIZ-11609) Fixes check style. I removed a space after a cast. That's how I wrote it so far and that was wrong. BTW I did not invent it, our code is riddled of it:/ https://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141388.html --- .../security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java index 8371df1..a682b8c 100644 --- a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java +++ b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java @@ -70,7 +70,7 @@ public final class CsrfUtil { NoCsrfDefenseStrategy.class.getCanonicalName()); Class<?> c = Class.forName(className); strategyCanonicalName = c.getCanonicalName(); - setStrategy((ICsrfDefenseStrategy)c.newInstance()); + setStrategy((ICsrfDefenseStrategy) c.newInstance()); } catch (Exception e) { Debug.logError(e, MODULE); setStrategy(new NoCsrfDefenseStrategy()); |
Free forum by Nabble | Edit this page |