[ https://issues.apache.org/jira/browse/WW-5251?focusedWorklogId=911804&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-911804 ]
ASF GitHub Bot logged work on WW-5251: -------------------------------------- Author: ASF GitHub Bot Created on: 27/Mar/24 12:18 Start Date: 27/Mar/24 12:18 Worklog Time Spent: 10m Work Description: brianandle commented on code in PR #898: URL: https://github.com/apache/struts/pull/898#discussion_r1540996095 ########## core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java: ########## @@ -0,0 +1,34 @@ +/* + * 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.struts2.interceptor; + +import org.apache.struts2.dispatcher.HttpParameters; + +import java.util.Map; + +@Deprecated +public interface ParameterAware extends org.apache.struts2.action.ParametersAware { + + void setParameters(Map map); + + @Override + default void withParameters(HttpParameters parameters) { + setParameters(parameters); Review Comment: I created https://issues.apache.org/jira/browse/WW-5403 as well which highlights some other classes/methods I found that (probably not just the ones listed) that were removed in a minor when they really, IMHO, should have been removed only in the next major (7.x). I would worry what other newly deprecated, in 6.x, classes/methods were removed in a minor vs waiting until 7.x. Unless the class/method exposed a significant security risk on it's own. ########## core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java: ########## @@ -0,0 +1,34 @@ +/* + * 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.struts2.interceptor; + +import org.apache.struts2.dispatcher.HttpParameters; + +import java.util.Map; + +@Deprecated +public interface ParameterAware extends org.apache.struts2.action.ParametersAware { + + void setParameters(Map map); + + @Override + default void withParameters(HttpParameters parameters) { + setParameters(parameters); Review Comment: We're also missing the restoration of org.apache.struts2.interceptor.RequestAware which would be something like: ```@Deprecated public interface RequestAware extends org.apache.struts2.action..ServletRequestAware { void setRequest(Map<String,Object> request); default void withServletRequest(HttpServletRequest request) { setRequest(request.getParameterMap()); } } ########## core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java: ########## @@ -0,0 +1,34 @@ +/* + * 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.struts2.interceptor; + +import org.apache.struts2.dispatcher.HttpParameters; + +import java.util.Map; + +@Deprecated +public interface ParameterAware extends org.apache.struts2.action.ParametersAware { + + void setParameters(Map map); + + @Override + default void withParameters(HttpParameters parameters) { + setParameters(parameters); Review Comment: This would need to be something like the following since the setParameters takes a Map: ```default void withParameters(HttpParameters parameters) { Map<String, String[]> newParams = new HashMap<String, String[]>(); for(String key : parameters.keySet()){ Parameter p = parameters.get(key); if(p instanceof Parameter.Request){ if(p.isMultiple()) { newParams.put(key, p.getMultipleValues()); } else { newParams.put(key, new String[] {p.getValue()}); } } } setParameters(newParams); Issue Time Tracking ------------------- Worklog Id: (was: 911804) Time Spent: 1h 40m (was: 1.5h) > Remove deprecated interfaces used with ServletConfigInterceptor > --------------------------------------------------------------- > > Key: WW-5251 > URL: https://issues.apache.org/jira/browse/WW-5251 > Project: Struts 2 > Issue Type: Improvement > Components: Core Interceptors > Reporter: Lukasz Lenart > Assignee: Lukasz Lenart > Priority: Major > Fix For: 7.0.0 > > Time Spent: 1h 40m > Remaining Estimate: 0h > > {{ServletConfigInterceptor}} supports a bunch of deprecated interfaces which > already have proper replacement and they should be removed > * {{org.apache.struts2.util.ServletContextAware}} > * {{org.apache.struts2.interceptor.ServletRequestAware}} > * {{org.apache.struts2.interceptor.ServletResponseAware}} > * {{org.apache.struts2.interceptor.ParameterAware}} > * {{org.apache.struts2.interceptor.SessionAware}} > * {{org.apache.struts2.interceptor.ApplicationAware}} > * {{org.apache.struts2.interceptor.PrincipalAware}} > all these interfaces have proper replacement in {{org.apache.struts2.action}} > package -- This message was sent by Atlassian Jira (v8.20.10#820010)