Skip to main content

ADF: PS5 to PS6 upgrade which turned into a PS7 11.1.1.8 webcenter and 11.1.1.7 adf upgrade

First thing I noticed is that clicking a link on a tab or menu disabled the link, had to style my tabs for this as the tab would vanish while loading -

af|panelTabbed::header af|panelTabbed::tab:disabled af|panelTabbed::tab-start { background-image: url("/skins/images/my_tab_start_d.png"); }
af|panelTabbed::header af|panelTabbed::tab:disabled af|panelTabbed::tab-content { background-image: url("/skins/images/my_tab_mid_d.png"); }
af|panelTabbed::header af|panelTabbed::tab:disabled af|panelTabbed::tab-end { background-image: url("/skins/images/my_tab_end_d.png"); }


The other problem was with some really old code that had only transient attributes in a vo - after 5 minutes on a screen and reclicking we would get a null pointer exception. Fixed this by marking passivate transient objects on the vo and cleaning up some old code.

Also had a few navigation with web center menu errors.



Skyros upgrade will take a lot of work to integrate with our styles sooooo this will have to wait we are on a tight deadline.


UPDATE : Not a smooth upgrade, problems include transients in view objects getting passivated more frequently, refresh issues, etc. (Mostly troubles with old code not functioning as it did).

Comments

Popular posts from this blog

ADF sort of generic screen for tables with the same structure

We have a couple (about a hundred) of tables with the same structure (Code, Description, Create Date, Update Date). So I wanted to do something simple so that I did not have to create all these screens 1) EO   I created the EO based on one of the tables I had that had the above columns. I then Added a transient attribute called table name to my EO based on a groovy expression. (the expression needs to change as I am reading web tier stuff from the model layer but I will fix this later) I then generated a java class for my EO. And added the following overriden method to my newly created java class. protected StringBuffer buildDMLStatement(int i, AttributeDefImpl[] attributeDefImpl,   AttributeDefImpl[] attributeDefImpl2, AttributeDefImpl[] attributeDefImpl3, boolean b) {   StringBuffer statement = super.buildDMLStatement(   i, attributeDefImpl, attributeDefImpl2, attributeDefImpl3, b); return new StringBuffer(StringUtils.replace(statement.to...

Util code

public static MethodExpression getMethodExpression( String expr, Class returnType, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); ExpressionFactory elFactory = fc.getApplication().getExpressionFactory(); return elFactory.createMethodExpression( elctx, expr, returnType, argTypes); } public static javax.faces.el.MethodBinding getMethodBinding( String expr, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); return fc.getApplication().createMethodBinding(expr, argTypes); } SetPropertyListener listener = new SetPropertyListener( ActionEvent.class.getName()); listener.setFrom(link.getRoute()); listener.setValueExpression("to", JSFUtils.getValueExpression("#{pageFlowScope.route}", String.class)); action.addActionListener(listener); AdfFacesContext.getCurrentInstance().getPageFlowScope() .put("route", lin...

MANIFEST.MF merge JDeveloper for an executable jar

Goto your project > properties. Then click on deployment in the menu. Edit or add a jar deployment profile. Fill in the details under jar options (select Include manifest and give it a main class name) Also remember that the merge functionality only works with a BLANK line at the end of the merge file. REALLY this caught me. My merge file contents: Class-Path: commons-codec-1.3.jar [...empty line here CRLF...]