Search This Blog

Wednesday, April 15, 2009

ADF:Display Selected table row

public void ChangeListener(SelectionEvent selectionEvent) {
// Add event code here...
String amDef = "parameter.AppModule";
String config = "AppModuleLocal";
ApplicationModule am = Configuration.createRootApplicationModule(amDef, config); ViewObject vo = am.findViewObject("ParamMastView1");
ArrayList rows = new ArrayList();
Object[] ss=table1.getSelectedRowKeys().toArray();
RowKeySet rr=table1.getSelectedRowKeys();
Iterator it=rr.iterator
Object ky=it.next();
List kk=(List)ky;
ListIterator LItr = kk.listIterator();
Key kk1=(Key)LItr.next();
System.out.println(kk1);
Row[] selectedRows = vo.findByKey(kk1,1);
Row voRow = selectedRows[0];
System.out.println(" ["+voRow.getAttribute("ParamId")+"] "+ voRow.getAttribute("ParamName")+": "+
voRow.getAttribute("ParamValue"));
Object o = table1.getSelectedRowData();
JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding)o;
Row row = rowData.getRow();
System.out.println(row.getAttribute(0));
RowKeySet rowSet = table1.getSelectedRowKeys();
Iterator rowSetIter = rowSet.iterator();
//DCBindingContainer bindings = this.getBindingContainer();
// DCIteratorBinding iter = bindings.findIteratorBinding("DeptView1Iterator");
DCBindingContainer dcBindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding iter = dcBindings.findIteratorBinding("MenuView1Iterator");
while (rowSetIter.hasNext()) {
List l = (List)rowSetIter.next();
Key key = (Key)l.get(0);
iter.setCurrentRowWithKey(key.toStringFormat(true));
Row r = iter.getCurrentRow();
System.out.println("selected dept " + r.getAttribute("MenuName"));
}

ADF:Calling PLSQL Package using jdbc connection

ArrayList rows = new ArrayList();
private static String connectUrl = "jdbc:oracle:thin:@10.201.1.32:1521:XE";
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection(connectUrl, "HR", "oracle");
//Statement s = con.createStatement();
//ResultSet rs = s.executeQuery("Select * from employees");
//while (rs.next()){
//System.out.println(rs.getString(2)); //}
oracle.jdbc.OracleCallableStatement ocs = null;
oracle.sql.StructDescriptor structDesc = StructDescriptor.createDescriptor("EMP_REC", con);
oracle.sql.ArrayDescriptor arrayDesc = ArrayDescriptor.createDescriptor("EMP_TABLE", con);
ArrayList arr = new ArrayList();
String[] objName;
ListIterator LItr = rows.listIterator();
while (LItr.hasNext()) {
// objName=(String[])LItr.next();
// Object [] singleobj = {
// objName[0],objName[1],objName[2]
// };
oracle.sql.STRUCT p1struct = new STRUCT(structDesc, con, (Object[])LItr.next()); //singleobj);
arr.add(p1struct);
}
oracle.sql.ARRAY newArray = new ARRAY(arrayDesc, con, arr.toArray());
ocs =
//(OracleCallableStatement)con.prepareCall("begin PK_PROD.INSERT_PROD1; end;");
(OracleCallableStatement)con.prepareCall("begin PK_PROD.INSERT_PROD(:1); end;"); ocs.setARRAY(1, newArray);
ocs.execute();
con.commit();
con.close();
ocs.close();

Changing view Objects & refreshing coresponding controls

FacesContext fctx = FacesContext.getCurrentInstance();
ValueBinding vb1 = fctx.getApplication().createValueBinding("#{bindings.ViewObj1Iterator}");
DCIteratorBinding UserListView = (DCIteratorBinding)vb1.getValue(fctx);
ViewObject vo = UserListView.getViewObject
vo.setNamedWhereClauseParam("PRole_id",1);
vo.executeQuery();

ADF Page Load event & post back

@PostConstruct

protected void OnLoad(){

if(!isPostback()){

System.out.println("test");

} }

private boolean isPostback() {

return Boolean.TRUE.equals(resolveExpression("#{adfFacesContext.postback}"));

}

private Object resolveExpression(String expression) {

FacesContext ctx = FacesContext.getCurrentInstance(); Application app = ctx.getApplication();

ValueBinding bind = app.createValueBinding(expression); return bind.getValue(ctx);

}