diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/SpringConstants.java b/plugins/spring/src/main/java/org/apache/struts2/spring/SpringConstants.java new file mode 100644 index 000000000..f174e2ff6 --- /dev/null +++ b/plugins/spring/src/main/java/org/apache/struts2/spring/SpringConstants.java @@ -0,0 +1,25 @@ +/* + * 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.spring; + +public class SpringConstants { + public static final String SPRING_CLASS_RELOADING_WATCH_LIST = "struts.class.reloading.watchList"; + public static final String SPRING_CLASS_RELOADING_ACCEPT_CLASSES = "struts.class.reloading.acceptClasses"; + public static final String SPRING_CLASS_RELOADING_RELOAD_CONFIG = "struts.class.reloading.reloadConfig"; +} diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java index 8d6c229a7..157518c27 100644 --- a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java +++ b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java @@ -94,9 +94,9 @@ public class StrutsSpringObjectFactory extends SpringObjectFactory { return; } - String watchList = container.getInstance(String.class, "struts.class.reloading.watchList"); - String acceptClasses = container.getInstance(String.class, "struts.class.reloading.acceptClasses"); - String reloadConfig = container.getInstance(String.class, "struts.class.reloading.reloadConfig"); + String watchList = container.getInstance(String.class, SpringConstants.SPRING_CLASS_RELOADING_WATCH_LIST); + String acceptClasses = container.getInstance(String.class, SpringConstants.SPRING_CLASS_RELOADING_ACCEPT_CLASSES); + String reloadConfig = container.getInstance(String.class, SpringConstants.SPRING_CLASS_RELOADING_RELOAD_CONFIG); if ("true".equals(devMode) && StringUtils.isNotBlank(watchList) diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/config/entities/SpringConstantConfig.java b/plugins/spring/src/main/java/org/apache/struts2/spring/config/entities/SpringConstantConfig.java new file mode 100644 index 000000000..d948490ba --- /dev/null +++ b/plugins/spring/src/main/java/org/apache/struts2/spring/config/entities/SpringConstantConfig.java @@ -0,0 +1,70 @@ +/* + * 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.spring.config.entities; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.StringUtils; +import org.apache.struts2.config.entities.ConstantConfig; +import org.apache.struts2.spring.SpringConstants; + +public class SpringConstantConfig extends ConstantConfig { + private List classReloadingWatchList; + private Set classReloadingAcceptClasses; + private Boolean classReloadingReloadConfig; + + @Override + public Map getAllAsStringsMap() { + Map map = super.getAllAsStringsMap(); + + map.put(SpringConstants.SPRING_CLASS_RELOADING_WATCH_LIST, StringUtils.join(classReloadingWatchList, ',')); + map.put(SpringConstants.SPRING_CLASS_RELOADING_ACCEPT_CLASSES, StringUtils.join(classReloadingAcceptClasses, ',')); + map.put(SpringConstants.SPRING_CLASS_RELOADING_RELOAD_CONFIG, Objects.toString(classReloadingReloadConfig, null)); + + return map; + } + + public List getClassReloadingWatchList() { + return classReloadingWatchList; + } + + public void setClassReloadingWatchList(List classReloadingWatchList) { + this.classReloadingWatchList = classReloadingWatchList; + } + + public Set getClassReloadingAcceptClasses() { + return classReloadingAcceptClasses; + } + + public void setClassReloadingAcceptClasses(Set classReloadingAcceptClasses) { + this.classReloadingAcceptClasses = classReloadingAcceptClasses; + } + + public Boolean getClassReloadingReloadConfig() { + return classReloadingReloadConfig; + } + + public void setClassReloadingReloadConfig(Boolean classReloadingReloadConfig) { + this.classReloadingReloadConfig = classReloadingReloadConfig; + } +}