/** parses the controls hashtable, looking for references to controls, and returns the appropriate * postfilters to be run. */ Iterator<K> getActiveIterator(Map<String,String> controls) { //TODO this implementation should check if controls have been updated since the iterator was created. return getActive(controls).iterator(); }
((LocalManager)manager).processModuleManager.getModule(q.getControl("previousprocess")).process(manager, q);
/** load in the allowed post filter controls, and the order to run post processes in */ protected void load_module_controls() { if (ApplicationSetup.getProperty("querying."+typeName, "").length() == 0 && ApplicationSetup.getProperty("querying."+typeName+".order", "").length() > 0) { load_module_controls_old(); return; } String[] control_pf; List<String> _Class_Order = new ArrayList<>(); List<String[]> _controls = new ArrayList<>(); String tmp = ApplicationSetup.getProperty("querying."+typeName, "").trim(); if (tmp.length() > 0) control_pf = tmp.split("\\s*,\\s*"); else control_pf = new String[0]; for(String pair : control_pf) { String[] tuple = pair.split(":", 2); _Class_Order.add(tuple[1]); _controls.add(new String[]{tuple[0]}); } Class_Order = _Class_Order.toArray(new String[0]); Class_Controls = _controls.toArray(new String[0][]); }
@Override public void process(Manager manager, Request rq) { PostFilter[] filters = postfilterModuleManager.getActive(rq.getControls()).toArray(new PostFilter[0]); final int filters_length = filters.length;
@Override public void process(Manager manager, Request rq) { PostFilter[] filters = postfilterModuleManager.getActive(rq.getControls()).toArray(new PostFilter[0]); final int filters_length = filters.length;
((LocalManager)manager).processModuleManager.getModule(q.getControl("previousprocess")).process(manager, q);
logger.debug(rq.getControls().toString()); if (processModuleManager.getSize() == 0) Iterator<Process> iter = processModuleManager.getActiveIterator(rq.getControls()); List<String> processesDone = new ArrayList<String>(); int ran = 0;
logger.debug(rq.getControls().toString()); if (processModuleManager.getSize() == 0) Iterator<Process> iter = processModuleManager.getActiveIterator(rq.getControls()); List<String> processesDone = new ArrayList<String>(); int ran = 0;
List<K> getActive(Map<String,String> controls) { List<K> classes = new ArrayList<>(); for(int i=0; i<Class_Order.length; i++) { String PostFilter_Name = Class_Order[i]; for(int j=0; j<Class_Controls[i].length; j++) { String ControlName = Class_Controls[i][j]; String value = (String)controls.get(ControlName); if (logger.isDebugEnabled()){ logger.debug(ControlName+ "("+PostFilter_Name+") => "+value); } if (value == null) continue; value = value.toLowerCase(); if(! (value.equals("off") || value.equals("false"))) { classes.add(getModule(PostFilter_Name)); //we've now run this post process module, no need to check the rest of the controls for it. break; } } } return classes; }
/** load in the allowed post filter controls, and the order to run post processes in */ protected void load_module_controls() { if (ApplicationSetup.getProperty("querying."+typeName, "").length() == 0 && ApplicationSetup.getProperty("querying."+typeName+".order", "").length() > 0) { load_module_controls_old(); return; } String[] control_pf; List<String> _Class_Order = new ArrayList<>(); List<String[]> _controls = new ArrayList<>(); String tmp = ApplicationSetup.getProperty("querying."+typeName, "").trim(); if (tmp.length() > 0) control_pf = tmp.split("\\s*,\\s*"); else control_pf = new String[0]; for(String pair : control_pf) { String[] tuple = pair.split(":", 2); _Class_Order.add(tuple[1]); _controls.add(new String[]{tuple[0]}); } Class_Order = _Class_Order.toArray(new String[0]); Class_Controls = _controls.toArray(new String[0][]); }
List<K> getActive(Map<String,String> controls) { List<K> classes = new ArrayList<>(); for(int i=0; i<Class_Order.length; i++) { String PostFilter_Name = Class_Order[i]; for(int j=0; j<Class_Controls[i].length; j++) { String ControlName = Class_Controls[i][j]; String value = (String)controls.get(ControlName); if (logger.isDebugEnabled()){ logger.debug(ControlName+ "("+PostFilter_Name+") => "+value); } if (value == null) continue; value = value.toLowerCase(); if(! (value.equals("off") || value.equals("false"))) { classes.add(getModule(PostFilter_Name)); //we've now run this post process module, no need to check the rest of the controls for it. break; } } } return classes; }
@SuppressWarnings("unchecked") @Override List<K> getActive(Map<String, String> controls) { List<K> rtr = super.getActive(controls); rtr.replaceAll(clz -> { if ((clz instanceof ApplyLocalMatching) && !( clz instanceof TSApplyLocalMatching) ) return (K) tslm; if ((clz instanceof PostFilterProcess) && !( clz instanceof TSPostFilterProcess) ) return (K) tspfp; return clz; }); return rtr; }
@SuppressWarnings("unchecked") @Override List<K> getActive(Map<String, String> controls) { List<K> rtr = super.getActive(controls); rtr.replaceAll(clz -> { if ((clz instanceof ApplyLocalMatching) && !( clz instanceof TSApplyLocalMatching) ) return (K) tslm; if ((clz instanceof PostFilterProcess) && !( clz instanceof TSPostFilterProcess) ) return (K) tspfp; return clz; }); return rtr; }
ModuleManager(String _typeName, String namespace, boolean _caching){ super(namespace, _caching); this.typeName = _typeName; this.load_module_controls(); //System.err.println(Arrays.deepToString(Class_Controls)); }
ModuleManager(String _typeName, String namespace, boolean _caching){ super(namespace, _caching); this.typeName = _typeName; this.load_module_controls(); //System.err.println(Arrays.deepToString(Class_Controls)); }
/** parses the controls hashtable, looking for references to controls, and returns the appropriate * postfilters to be run. */ Iterator<K> getActiveIterator(Map<String,String> controls) { //TODO this implementation should check if controls have been updated since the iterator was created. return getActive(controls).iterator(); }