Skip to content

Instantly share code, notes, and snippets.

@ramannanda9
Last active December 23, 2015 08:19
Show Gist options
  • Save ramannanda9/6607057 to your computer and use it in GitHub Desktop.
Save ramannanda9/6607057 to your computer and use it in GitHub Desktop.
package sahaj.apps.vleadministration.view.bean;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import oracle.adf.model.RegionBinding;
import oracle.adf.model.RegionContext;
import oracle.adf.model.RegionController;
import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;
import org.apache.myfaces.trinidad.util.Service;
public class VleAdminAppPhaseListener implements RegionController {
public VleAdminAppPhaseListener(){
}
public boolean refreshRegion(RegionContext regionContext) {
int refreshFlag= regionContext.getRefreshFlag();
FacesContext fctx = FacesContext.getCurrentInstance();
//check internal request parameter
Map requestMap = fctx.getExternalContext().getRequestMap();
PhaseId currentPhase=(PhaseId)requestMap.get("oracle.adfinternal.view.faces.lifecycle.CURRENT_PHASE_ID");
if(currentPhase.getOrdinal()==PhaseId.RENDER_RESPONSE.getOrdinal()){
Object showPrintableBehavior =
requestMap.get("oracle.adfinternal.view.faces.el.PrintablePage");
if (showPrintableBehavior != null) {
if (Boolean.TRUE == showPrintableBehavior) {
ExtendedRenderKitService erks = null;
erks =
Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
//invoke JavaScript from the server
erks.addScript(fctx, "window.print();");
}
}
regionContext.getRegionBinding().refresh(refreshFlag);
}
return false;
}
public boolean validateRegion(RegionContext regionContext) {
regionContext.getRegionBinding().validate();
return false;
}
public boolean isRegionViewable(RegionContext regionContext) {
return regionContext.getRegionBinding().isViewable();
}
public String getName() {
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment