This is an automated email from the ASF dual-hosted git repository.
gk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/turbine-archetypes.git
The following commit(s) were added to refs/heads/master by this push:
new 29299e5 provide example pool2 parameters, search form in
fluxuserlist.vm, fix criteria in fluxtools getusers method using column
29299e5 is described below
commit 29299e51cc4c1e4973f028f5acaa2c925d97bada
Author: Georg Kallidis <[email protected]>
AuthorDate: Wed Sep 20 10:20:25 2023 +0200
provide example pool2 parameters, search form in fluxuserlist.vm, fix
criteria in fluxtools getusers method using column
---
.../src/main/java/flux/tools/FluxTool.java | 14 ++++++++++++--
.../main/webapp/WEB-INF/conf/componentConfiguration.xml | 7 +++++++
.../webapp/templates/flux/screens/user/FluxUserList.vm | 13 +++++++++++++
3 files changed, 32 insertions(+), 2 deletions(-)
diff --git
a/src/main/resources/archetype-resources/src/main/java/flux/tools/FluxTool.java
b/src/main/resources/archetype-resources/src/main/java/flux/tools/FluxTool.java
index 1bf49f5..d944228 100644
---
a/src/main/resources/archetype-resources/src/main/java/flux/tools/FluxTool.java
+++
b/src/main/resources/archetype-resources/src/main/java/flux/tools/FluxTool.java
@@ -33,7 +33,9 @@ import
org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
import org.apache.fulcrum.security.torque.om.TurbineUserPeer;
import org.apache.fulcrum.security.util.GroupSet;
import org.apache.fulcrum.security.util.RoleSet;
+import org.apache.torque.Column;
import org.apache.torque.criteria.Criteria;
+import org.apache.torque.criteria.Criterion;
import org.apache.turbine.annotation.TurbineConfiguration;
import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.om.security.User;
@@ -243,9 +245,17 @@ public class FluxTool implements ApplicationTool,
Recyclable {
if (fieldList != null) {
// This is completely database centric.
String searchField =
data.getParameters().getString("searchField");
- criteria.where(fieldList, searchField,
Criteria.LIKE);
+ Column searchColField =
+ fieldList.toLowerCase().contains(
"username" )?
+ TurbineUserPeer.LOGIN_NAME :
+ fieldList.toLowerCase().contains(
"first" )?
+ TurbineUserPeer.FIRST_NAME:
+ fieldList.toLowerCase().contains(
"last" )?
+ TurbineUserPeer.LAST_NAME:
TurbineUserPeer.LOGIN_NAME;
+ Criterion cond = new Criterion(searchColField,
searchField,
+ (searchField.contains("%"))?
Criteria.LIKE: Criteria.EQUAL);
+ criteria.where(cond);
}
-
return (List<User>)
security.getUserManager().retrieveList(criteria);
} catch (Exception e) {
log.error("Could not retrieve user list: " +
e.toString());
diff --git
a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
index 31bbc44..cc6e8df 100644
---
a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
+++
b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
@@ -50,6 +50,13 @@
<!-- <urlCaseFolding>lower</urlCaseFolding> -->
<parameterEncoding>utf-8</parameterEncoding>
<automaticUpload>true</automaticUpload>
+ <pool2>
+ <!-- cft. defaults in
org.apache.commons.pool2.impl.BaseObjectPoolConfig and
GenericKeyedObjectPoolConfig -->
+ <maxTotal>1024</maxTotal>
+ <!-- if set to false, set maxWaitMillis to zero-->
+ <blockWhenExhausted>true</blockWhenExhausted>
+ <maxWaitMillis>500</maxWaitMillis>
+ </pool2>
</parser>
<!-- defining specific inspectors -->
<json>
diff --git
a/src/main/resources/archetype-resources/src/main/webapp/templates/flux/screens/user/FluxUserList.vm
b/src/main/resources/archetype-resources/src/main/webapp/templates/flux/screens/user/FluxUserList.vm
index cdc0d43..504b2bc 100644
---
a/src/main/resources/archetype-resources/src/main/webapp/templates/flux/screens/user/FluxUserList.vm
+++
b/src/main/resources/archetype-resources/src/main/webapp/templates/flux/screens/user/FluxUserList.vm
@@ -1,5 +1,18 @@
#set ( $headings = ["Username","First Name", "Last Name", "Email", "Admin" ] )
+<table class="w3-table w3-striped w3-bordered">
+ <tr>
+ <td>Search:</td>
+ <td>
+ <form method="post" action="$link.setPage("user,FluxUserList.vm")">
+ $flux.getUserFieldList()
+ <input type="text" name="searchField" value="">
+ <input type="submit" name="eventSubmit_doDefault" value="Filter
Users">
+ </form><br>
+ <a href="$link.setPage("user,FluxUserList.vm").addQueryData( "fieldList",
"username" ).addQueryData( "searchField", "admin" )" class="w3-btn w3-round
w3-blue w3-border w3-border-blue">Admin Users</a>
+ </td>
+ </tr>
+</table>
<div class="w3-container w3-padding"> <h2>Current Users</h2> </div>