Saturday, March 5, 2016

Default Filter Value in af:table Filter

When we Enable Sorting and Filtering and need to Default value in Filter for First or each time ,
create bean with table handle

public class MyBean {
    public MyBean() {
    }
public FilterableQueryDescriptor getCustomQueryDescriptor() {
        String bindingEl = "#{bindings.MyVO1Query}";

        FacesCtrlSearchBinding sbinding =
            (FacesCtrlSearchBinding)JSFUtil.resolveExpression(bindingEl);
        FilterableQueryDescriptor fqd =
            (FilterableQueryDescriptor)sbinding.getQueryDescriptor();
        if (fqd != null &&
            fqd.getConjunctionCriterion() != null  && isInitialQuery()) {
            ConjunctionCriterion cc = fqd.getConjunctionCriterion();
            List<Criterion> lc = cc.getCriterionList();
            for (Criterion c : lc) {
                if (c instanceof AttributeCriterion) {
                    AttributeCriterion ac = (AttributeCriterion)c;
                    if ((ac.getAttribute().getName().equalsIgnoreCase("Status")) &&
                        ac.getValues().isEmpty()) { 
                        Map filterCriteria = fqd.getFilterCriteria();
                        if (filterCriteria == null) {
                            filterCriteria = new HashMap<String, Object>();
                            fqd.setFilterCriteria(filterCriteria);
                        }
                        filterCriteria.put("Status", "PENDING");
                    }
                }
            }
            setInitialQuery(false);
            RichTable tbl = getMyTable();
            QueryEvent queryEvent = new QueryEvent(tbl, fqd);
            sbinding.processQuery(queryEvent);
        }
        return fqd;
    }

}

Change af:table property
filterModel="#{pageFlowScope.MyBean.customQueryDescriptor}"

References
http://lucbors.blogspot.com/2015/08/adf-1213-implementing-default-table.html
https://community.oracle.com/thread/2232873?tstart=0
http://www.awasthiashish.com/2013/11/apply-filter-on-aftable-column.html

Monday, January 25, 2016

JDeveloper 11.1.1.7.0 Could not reserve enough space for object heap

While Running Integrated Weblogic Server instance got Error

C:\Oracle\MIDDLE~1\JDK160~1\bin\java -client   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m  -XX:MaxPermSize=512m -Dweblogic.Name=DefaultServer -Djava.security.policy=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.policy -Djavax.net.ssl.trustStore=C:\Oracle\Middleware\wlserver_10.3\server\lib\DemoTrust.jks -Doracle.jdeveloper.adrs=true -Dweblogic.nodemanager.ServiceEnabled=true  -Xverify:none  -da -Dplatform.home=C:\Oracle\MIDDLE~1\WLSERV~1.3 -Dwls.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server  -Djps.app.credential.overwrite.allowed=true -Dcommon.components.home=C:\Oracle\MIDDLE~1\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1 -Djrockit.optfile=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.server.config.dir=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\config\FMWCON~1\servers\DefaultServer -Doracle.domain.config.dir=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\config\FMWCON~1  -Digf.arisidbeans.carmlloc=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\config\FMWCON~1\carml  -Digf.arisidstack.home=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\config\FMWCON~1\arisidprovider -Doracle.security.jps.config=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\config\fmwconfig\jps-config.xml -Doracle.deployed.app.dir=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\servers\DefaultServer\tmp\_WL_user -Doracle.deployed.app.ext=\- -Dweblogic.alternateTypesDirectory=C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.oamprovider_11.1.1,C:\Oracle\MIDDLE~1\ORACLE~1\modules\oracle.jps_11.1.1 -Djava.protocol.handler.pkgs=oracle.mds.net.protocol  -Dweblogic.jdbc.remoteEnabled=false -Dwsm.repository.path=C:\Users\jeet\AppData\Roaming\JDEVEL~1\SYSTEM~1.93\DEFAUL~1\oracle\store\gmds   -Dweblogic.management.discover=true  -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~1\patch_wls1035\profiles\default\sysext_manifest_classpath;C:\Oracle\MIDDLE~1\patch_jdev1111\profiles\default\sysext_manifest_classpath  weblogic.Server

Error occurred during initialization of VMCould not reserve enough space for object heapCould not create the Java virtual machine.

Process exited.


Solution:
1)Download - jdk-6u45-windows-x64.exe and install it.
2)After installation it creates folder C:\Program Files\Java\jdk1.6.0_45
3)Need to update this path in two files.
a)jdev.conf(<JDEV_HOME>\jdeveloper\jdev\bin)
eg. C:\Oracle\Middleware\jdeveloper\jdev\bin
#SetJavaHome C:\Oracle\Middleware\jdk160_24
SetJavaHome C:\Program Files\Java\jdk1.6.0_45

b)setDomainEnv(C:\Users\<yourUser>\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\bin)
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45

References :-
http://adfjsf.blogspot.com/2012/10/jdeveloper-11g-could-not-reserve-enough.html