//1. Method to call a flow in taskFlow programatically
public static void gotoFlow(String flowName) {
FacesContext context = FacesContext.getCurrentInstance();
Application app = context.getApplication();
NavigationHandler handler = app.getNavigationHandler();
handler.handleNavigation(context, null, flowName);
}
//2. Util method to show error and Success Msg
public static void showMsg(String msgBody, String msgSeverity) {
FacesMessage fm = new FacesMessage(msgBody);
if (msgSeverity.equals("info")) {
fm.setSeverity(FacesMessage.SEVERITY_INFO);
} else if (msgSeverity.equals("warn")) {
fm.setSeverity(FacesMessage.SEVERITY_WARN);
} else if (msgSeverity.equals("error")) {
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
} else {
fm.setSeverity(FacesMessage.SEVERITY_FATAL);
}
FacesContext fctx = FacesContext.getCurrentInstance();
fctx.addMessage(null, fm);
}
//3. Get Cookie value in ADF
public static String getCookieValue(String cookieName) {
FacesContext fctx = FacesContext.getCurrentInstance();
ExternalContext ectx = fctx.getExternalContext();
Map vRequestCookieMap = ectx.getRequestCookieMap();
Cookie cookie = (Cookie)vRequestCookieMap.get(cookieName);
if (cookie != null) {
return cookie.getValue();
}
return null;
}
//4. Load a jsp or jspx page (redirect to a page)
public static String loadPage(String pageName) {
FacesContext vFacesContext = FacesContext.getCurrentInstance();
ExternalContext vExternalContext = vFacesContext.getExternalContext();
ControllerContext controllerCtx = null;
controllerCtx = ControllerContext.getInstance();
String activityURL = controllerCtx.getGlobalViewActivityURL(pageName);
try {
vExternalContext.redirect(activityURL.substring(0,
activityURL.indexOf("?")));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//5. Initializing the ADFLogger
private static ADFLogger _logger =
ADFLogger.createADFLogger(YourClassName.class);
//6. Clear the ADF table filter
public static void removeFilter(RichTable tableBind,String processQueryName) {
FilterableQueryDescriptor queryDescriptor =
(FilterableQueryDescriptor)tableBind.getFilterModel();
if (queryDescriptor != null &&
queryDescriptor.getFilterCriteria() != null) {
queryDescriptor.getFilterCriteria().clear();
//processQueryName can found in queryListner of table eg:- #{bindings.Employee1Query.processQuery}
FacesUtils.invokeMethodExpression(processQueryName,
Object.class, QueryEvent.class,
new QueryEvent(tableBind,
queryDescriptor));
}
}
// 7.Implementing like type filter in ADF table filter
public static void likeFilter(RichTable tableBind,String processQueryName) {
FilterableQueryDescriptor queryDescriptor =
(FilterableQueryDescriptor)tableBind.getFilterModel();
if (queryDescriptor != null &&
queryDescriptor.getFilterCriteria() != null) {
Map m=queryDescriptor.getFilterCriteria();
Set keys = m.keySet();
Map modified=new HashMap();
for (Iterator i = keys.iterator(); i.hasNext();) {
String key = (String) i.next();
String value = (String) m.get(key);
if(value!=null && !value.equals("")){
value="%"+value+"%";
}
modified.put(key,value);
System.out.println(key + " = " + value);
}
queryDescriptor.getFilterCriteria().clear();
FacesUtils.invokeMethodExpression(processQueryName,
Object.class, QueryEvent.class,
new QueryEvent(tableBind,
queryDescriptor));
queryDescriptor.setFilterCriteria(modified);
FacesUtils.invokeMethodExpression(processQueryName,
Object.class, QueryEvent.class,
new QueryEvent(tableBind,
queryDescriptor));
}
}
// 8. Launching / Invoking a PopUp from Bean. [popupBind is binding of popup inside the bean]
RichPopup.PopupHints hints = new RichPopup.PopupHints();
popBind.show(hints);