--- a/src/main/java/net/timbusproject/dpes/pi/kbserver/beans/QueryBean.java
+++ b/src/main/java/net/timbusproject/dpes/pi/kbserver/beans/QueryBean.java
@@ -37,6 +37,8 @@
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
@@ -67,28 +69,20 @@
private PackageKnowledgeBase packageKnowledgeBase;
private String queryString;
+ private String action;
private List<String> formatNames;
private List<String> toolNames;
private List<String> formatIDs;
private List<String> packageNames;
private List<String> virtualPackageNames;
private List<String> virtualPackageProvidedByFragments;
-
- public List<String> getQueryResult() {
- return queryResult;
- }
-
- public void setQueryResult(List<String> queryResult) {
- this.queryResult = queryResult;
- }
-
private List<String> queryResult = new ArrayList<>();
@PostConstruct
public void init() {
queryFacade = knowledgeBean.getQueryFacade();
toolKnowledgeBase = knowledgeBean.getToolKnowledgeBase();
- packageKnowledgeBase = knowledgeBean.getPackageKnowledgeBase();
+ packageKnowledgeBase = knowledgeBean.getPackageKnowledgeBase();
formatIDs = toolKnowledgeBase.getAllFormatIDs();
formatNames = getAllFormatNames();
@@ -101,6 +95,33 @@
Collections.sort(toolNames);
Collections.sort(packageNames);
Collections.sort(virtualPackageProvidedByFragments);
+ }
+
+ public void exec() {
+ if (action != null && !action.isEmpty()) {
+ try {
+ Method method = getClass().getDeclaredMethod(action);
+ method.invoke(this);
+ } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
+ notify("The provided action is not supported.");
+ }
+ }
+ }
+
+ public List<String> getQueryResult() {
+ return queryResult;
+ }
+
+ public void setQueryResult(List<String> queryResult) {
+ this.queryResult = queryResult;
+ }
+
+ public String getAction() {
+ return action;
+ }
+
+ public void setAction(String action) {
+ this.action = action;
}
public void setKnowledgeBean(KnowledgeBean knowledgeBean) {