How to get my TrustManagerFactory registered ?

Hi all,
As a newbee in java security, I am probably missing a small detail somewhere.
I created my own TrustManagerFactory. I try to register it using my own Provider. To actually be able to debug, I also had to override Provider.Service.
Calling on the Provider.Service.newInstance method directly promptly returns my own LoginTrustManagerFactory. Using the JCE provider framework I see the debugger running through this method and returning my LoginTrustManagerFactory. However, some GetInstance class seems to think it is not a TrustManagerFactory:
java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: com.docner.auth.KeyStoreLoginAndSSLModule$LoginTrustManagerFactory not a TrustManagerFactory
at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:242)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:221)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
at javax.net.ssl.TrustManagerFactory.getInstance(TrustManagerFactory.java:110)
at com.docner.auth.KeyStoreLoginAndSSLModule.testProvider(KeyStoreLoginAndSSLModule.java:397)
If anyone can help, please do.
Actually, I want a simple thing: I want to use a KeyStore on the classpath and not in a file for trust.
I use JAAS to log in a user and in this process, I add a LoginModule that reads public certificates from a jar on the class path and populates the Subject. Then I create a TrustManager that gets all certificates from the Subject using the AccessController. Works fine.
Now I need to get SSL to use my TrustManager. At first, I tried the SSLContext.init( ... ) way. This does not work for the JINI JERI invocation layer, as that creates a new SSLContext every time. But it reads the TrustManagerFactory using a specified algorithm name.
So these are my current steps:
- Create a LoginTrustProvider ( extends java.security.Provider ).
- Create a LoginTrustService ( extends java.security.Provider.Service ) which is added to the LoginTrustProvider in the provider's constructor
- This service's newInstance method disregards any arguments and simply creates my new factory
- The LoginTrustManagerFactory extends javax.net.ssl.TrustManagerFactory
- in its constructor, the factory creates a new LoginTrustManagerFactorySpi which is passed to the super class
- The LoginTrustManagerFactorySpi returns exactly 1 TrustManager, a new LoginTrustManager().
- The LoginTrustManager actually gets the Subject using Subject.getSubject( AccessController.getContext() ) and can check wether the credential that is supplied matches any known certificate. I have not even started thinking about actually verifying the whole path, this is just a basic setup.
Now everything works when I start debugging it, except for the fact that the GetInstance class decides that the LoginTrustManagerFactory is no TrustManagerFactory even when it directly extends TrustManagerFactory !!
I think I really need some help here. You might even wonder if there is a simpler way.

Maybe anyone could tell me what the GetInstance class is actually doing ?
The exception is thrown from the checkSuperClass method; what checks are done here ?
sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:242)
And what specifically is it doing at line 242 and just before ?

Similar Messages

  • DESPERATE: how to get BB 9810 registered to Network

    How can I register my bb to my mobile network. It used to be registered 3 months ago but now it suddenly isn't.<br>I've done everything like sending my pin n imei to their website, but it rekons I'm sending through a desktop which I am not!!!<br>I've even sent a &quot;register&quot; message from the host routing table, but I NEVER receive the message on my fone!!<br>My BIS isn't working and even my network provider can't fix it!!<br>I am not able to add my gmail account onto my device, it's only accepting enterprise emails etc.<br>My whatsapp only works in wi-fi coverage and its starting to REALLY ANNOY me!!<br>PLEaSE Somebody HELP!!!

    Hello Beffiilicious
    Welcome to BlackBerry Support Forums
    Here's how to register our Device with our Carrier Network :
     KB00510 : How to register a BlackBerry smartphone with the wireless network
    If it fails then you have to get in contact with your carrier , it's our Carrier who are responsible for all BlackBerry Services and they can only give you the exact reason for this issue , So , contact your Carrier and confirm that BlackBerry Data Plan / BIS is properly configured with your account.
    Click " Like " if you want to Thank someone.
    If Problem Resolves mark the post(s) as " Solution ", so that other can make use of it.

  • How to get Serial Number Registered to Re-install "iWork" ???

    I cleaned installed Mountain Lion & I tried to re-install "iWork" that I already registered online with Apple. I do not have the box anymore as I left it in another province, so is there any way that I could get my serial number that I have already registered in my apple account ?

    You only need a serial number for iWork if you purchased a license from within the trial. If that was less than 18 months ago, you will find the serial number in your account in the online Apple Store. If it has been more than 18 months, you will either need to find the e-mail you received with the serial number or call the Apple Store at the number at the bottom of this web page.
    If it was installed from a retail disk, you need that disk or an image of it to reinstall. Again, the online Apple Store might be able to help.
    Last, but not least, you could purchase the needed apps from the Mac App Store.

  • How to get serial number registered to APPLE

    Hello!
    There is a way to see the software I registered with apple (using my apple ID)
    I want to upgrade to FC Studio latest version (I have Final cut pro 5) but I can't find my serial number card. I know I registered the software when we bought it.
    I have all the original Manuals.
    Ben

    but I can't find my serial number card
    I don't think the serial number was on a card. In most markets it is/was on two stickers affixed to the front of the booklet titled "Installing Your Software" that was packaged with the software.
    -DH

  • Hi, I need to activate my Adobe CS3 on a new computer because my old one died and I'm having difficulty. Tried the normal registration way and then logged in with my Adobe ID and can see the software and activation code already registered. How to get it o

    Hi, I need to activate my Adobe CS3 on a new computer because my old one died and I'm having difficulty. Tried the normal registration way and then logged in with my Adobe ID and can see the software and activation code already registered. How to get it on my computer registered?

    If your two activation are in use you need to call Adobe. Install CS3 to to point of activation and call Adobe at that point.  They have help me in cases like your My Disk crashed and I replaced it. Could not deactivate the crash activation.  I done that twice over the years I've been using  PS for around 20 years
    To see your key you need to click on the product in your Adobe products and services page.

  • I'm trying to get started and register my new ipad. I have been told to sign into my info web page. How do I do that? And where do I find it?

    I am trying to get started and register my new ipad. I have been told to sign into " my info web page". How do I do that and where do I find it?

    Hi,
    You can register your new iPad here.
    https://register.apple.com/cgi-bin/WebObjects/GlobaliReg.woa
    Carolyn :-)

  • I want to register my iPod with iTunes but the registration firm keeps asking for a postcode but there is no field to enter it, although there is an arrow showing where the error is but still no field for entry. Any suggestions how to get past this ?

    I want to register my iPod with iTunes but the registration form keeps asking for a postcode but there is no field to enter it, although there is an arrow showing where the error is but still no field for entry. Any suggestions how to get past this ?

    I can not get to iPhone screen, so no way to get to Settings. That is the problem. When I connect phone to iTunes I get screen asking to insert SIN card. On the phone I'm getting Cinfigure screen asking Launguage , Country or Region, Wi-Fi, ( I can connect to my home wi-fi), and last screen "Activating your iPhone". After two minutes of waiting IM getting message: Your iPhone could not be activated because the activation server in temporary unavailable. try connecting to iTunes or try later or contat apple.com/support.
    Like I mention, I went to Bell as well Rogers store and tried to insert active SIM card with no results.
    Yes, my friend unlock the phone to use with Rogers but I don't know where

  • I am picking up my new ipad this morning and turning over my ipa 2 to my wife. how do i get all my info apps, etc to my new ipad and wipe pout all on my existing and then how does she log in register with my old ipad?

    i am picking up my new ipad this morning and turning over my ipa 2 to my wife. how do i get all my info apps, etc to my new ipad and wipe pout all on my existing and then how does she log in register with my old ipad?

    Restore your new iPad from your most recent backup of your iPad2 in iTunes when you set it up, and then set up your wife's iPad2 as new device in iTunes by clicking on 'restore' on the main summary screen.
    Alternatively, you can just go to 'Settings>Reset>Erase all Contents and Settings'.

  • I cant update nor download any applications. My password was always invalid. And other username is prompted richardca0521@yahoo.ca which is not my account. How to get rid of this apple id and use my account for download? I have registered this to itunes.

    I can't update nor download any apps in itunes. Prompted invalid password, upon checking the apple id was not mine. The id was [email protected] whic is not mine. Pls. Help how to get rid of this. Thank you.

    try and delete the apps and re-add them

  • How to get changed data in ALV in Web Dynpro for ABAP

    METHOD on_data_check .
    DATA:
        node_spfli                          TYPE REF TO if_wd_context_node,
        node_sflight                        TYPE REF TO if_wd_context_node,
        itab_sflight2                        TYPE if_display_view=>elements_sflight.
      node_spfli = wd_context->get_child_node( name = if_display_view=>wdctx_spfli ).
      node_sflight = node_spfli->get_child_node( name = if_display_view=>wdctx_sflight ).
      CALL METHOD node_sflight->get_static_attributes_table
        IMPORTING
          table = itab_sflight2.
    this code is ..get all data(changed and not changed)
    but i want get changed data only, not all data.
    how to get changed data?
    Edited by: Ki-Joon Seo on Dec 27, 2007 6:04 AM

    Hi,
    To get only the changed data in the ALV grid of a WD, you need to capture the "ON_DATA_CHECK" of the ALV grid.
    To this please do the following in the ALV initialization of the ALV table settings :
        lr_table_settings->set_data_check(
                IF_SALV_WD_C_TABLE_SETTINGS=>DATA_CHECK_ON_CELL_EVENT ).
    You may also do this:
        lr_table_settings->set_data_check(            IF_SALV_WD_C_TABLE_SETTINGS=>DATA_CHECK_ON_CHECK_EVENT)
    The above two ways would depend on when do you need to check for the changed data. If you want to check the data as soon as it is entered, then use the first method. Else, use the second method.
    You need to register an EVENT HANDLER for this event.(You may do this in your VIEW or Component Controller).
    In this Event handler, you would find an importing parameter R_PARAM which is a ref type of      IF_SALV_WD_TABLE_DATA_CHECK.
    The attribute T_MODIFIED_CELLS of this interface IF_SALV_WD_TABLE_DATA_CHECK will contain the modified cells of the ALV with the old & new values.

  • How to get Hibernate 3.2.5 running on OracleAS 10.1.3.1 / OC4J 10.1.3.2

    Hi all,
    I have installed the OracleAS 10.1.3.0 patched to OracleAS 10.1.3.1/OC4J 10.1.3.2.
    I am trying to get Hibernate 3.2.5 with Hibernate EntityManager 3.3.1 running on the server, but I am not able to succeed.
    I want to provide Hibernate as a shared lib, because I´ll have several applications using it. Actualyl I´ll have many EJB-JAR deployed, that will use Hibernate as the underlying implementation of EJB3.0/JPA specification.
    I tried to copy the Hibernate JARs to home/applib directory and also register Hibernate as a shared lib through EM, but both failed when I deployed my application.
    I am trying to deploy my EJB-JAR in two different manners:
    1) Via EM, deploying the EJB-JAR file and checking Hibernate lib as dependency
    2) Copying the EJB-JAR file into home/applications directory and add ejb-module tag to application.xml
    Both fail.
    How can get Hibernate for JPA running on OracleAS 10.1.3.1 / OC4J 10.1.3.2, in order to make it available for many differente application modules (ejb-jars) ?
    Note: I prefer deploying EJB-JAR directly into home/applications in order the have the classes shared over for all application, so they can communicate to each other. Instead of deploying my ejb-jar within EARs and making each module isolated from each other.
    Thanks

    Check Debu's blog for this:
    http://debupanda.blogspot.com/2007/01/using-hibernate-as-pluggable-ejb-3-jpa.html
    --olaf                                                                                                                                                                                                                                               

  • How to get workitem ID parameter in BSP application in UWL?

    Hello All,
    okay, it's been a long day and i stuck with this seemingly simple problem - how to get a workitem id in my BSP application when calling from UWL.
    Points are guaranteed to all who post an answer.
    i got MVC BSP iview is configured to be called for my task in SWFVISU, all re-registered and seem fine. Correct BSP is being called when i execute the workitem from UWL, but wi_id is not passed there.
    What am i missing?
    Thanks!

    Hi Serge
    How you solved it .I have same issue  please let me know.
    Thanks

  • How to get Adobe Camera RAW loaded so I can open RAW files from a Panasonic LX7?

    I opened these images two days ago. Now I get a message that the CS6 Photoshop does not recognize this type of file. I went online and again(3rd time)downloaded Camera RAW 7.3 and tried installing and opening the images.
    Once again - same thing.
    Now I have something called a DNG converter on the machine and I don't know what it is.
    I opened it and tried to get to the LX7 files in my computer I can see in Bridge - and the DNG converter does not show the files at all.
    I was doing just fine with CS5 - then I bought this piece of crap because I could not get an update for CS5 to open the Panasonic Lumix LX7 images. So, I wasted $200 on CX6 only to find I can't get my images opened.
    I hate photoshop more every damn day
    First, took three days and over 9 hours wasted on hold for Adobe phone help - and finally got a guy on to help me register Photoshop CS6 - and he could not get it to register. Finally after a day & a half and hours of continually cutting and pasting from teh online computer to the main computer that does not hook up to the Internet I got CS6 to work.
    Then, I opened the Panasonic LX7 RAW images twice after downloading and installing Adobe Camera RAW 7.1 and 7.3 - and now the machine does not recognize the files and tells me to go to http://www.adobe.com/go/kb407111
    I went there and have downloaded the Camera Raw 7.1 and 7.3 four different times now and tried installing it - and Still can't open the damn files. I keep getting the same "photoshop cannot open this file" message and teh same referenc to teh above.
    How can I get this piece of Shiz to work???
    Oh - the name for ID above is after 22 minutes of trynig to find an name this program would accept.

    The first thing I would suggest is, in Photoshop, go to Help/About Plug-Ins and click on Camera Raw to verify what version is installed. There should only be one version listed, and listed only once. If there are more, then you need to get rid of the extras.
    The DNG converter is a program that will create DNG (digital negative) copies of your raw images. It takes all of the raw image data and copies it to a new file format. The raw data is unmodified, and the DNG file is a standardized and open documented file format. But the DNG converter will not list the actual files. You choose the folder that contains your original raw images, and then the converter will put the copies wherever you choose to put them. But if your camera is supposed to be supported by the latest version of Camera Raw, I don't know if converting will solve the problem. It won't hurt anything; your raw files are still intact.
    It would be helpful if you could describe your computer; operating system, how much RAM, a little information to allow the experts (of which I am NOT one) to help you isolate and solve this problem.

  • How to get the last error for while loop?

    How to get the last error for while loop? I just want transfer the last error for while loop, but the program use the shift register shift all error every cycle.

    What do you mean by "get" and "transfer"?
    If the shift register is not what you want, use a plan tunnel instead.
    Typically, programmers are interested in the first, not last, error.
    Can you show us your code so we have a better idea what you are trying to?
    LabVIEW Champion . Do more with less code and in less time .

  • How to get the reference of the cell id in validate method in adf

    Hi All,
    I am using Jdeveloper 11.1.1.2 and i am using custom validator where i have registered the validator in facesconfig.xml.I need to know how can i get the ID of the inputtext box which is present in the hierarchy as Panel Header->Table->column->textbox :-
    Below is my custom validator class source , please tell me how to get the reference of the textbox which is present in such hierarchy.:-
    package validator;
    import java.io.Serializable;
    import java.util.Date;
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.validator.Validator;
    import javax.faces.validator.ValidatorException;
    import oracle.adf.view.rich.component.rich.input.RichInputDate;
    import oracle.adf.view.rich.component.rich.input.RichInputText;
    import oracle.adfinternal.view.faces.bi.util.JsfUtils;
    public class ValidateConversion implements Serializable, Validator {
    public ValidateConversion() {
    super();
    public void validate(FacesContext facesContext, UIComponent uIComponent,
    Object object) throws ValidatorException {
    System.out.println("*************");
    System.out.println((String)object);
    //get component id by get("AttributeName");
    String conversionComponentId = (String)uIComponent.getAttributes().get("UncommittedOrder_PH:t7:it14");
    System.out.println("conversionComponentId=" + conversionComponentId);
    RichInputText conversionComponent = (RichInputText)uIComponent.findComponent(conversionComponentId);
    Integer conversion = (Integer)conversionComponent.getValue();
    Integer quantityInBags = (Integer)object;
    //get labels from the two inputDate component.
    String conversionLabel = conversionComponent.getLabel();
    String quantityInBagsLabel = ((RichInputText)uIComponent).getLabel();
    Integer remainder = (quantityInBags % conversion);
    //throw error if valiation fails
    if (remainder > 0) {
    throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
    "The " + quantityInBagsLabel + " should be in multiples of" + conversion +".",
    null));
    Thanks,
    Plese reply!!!

    Thanks Jabr,
    This is my jsff page source and i need to find the reference of it14 which is the textbox :-
    <af:panelGroupLayout id="pgl1" styleClass="AFStretchWidth">
    <af:panelHeader text="Results" id="Results_PH" size="1">
    <af:table value="#{bindings.queryProductResponseType.collectionModel}"
    var="row"
    rows="#{bindings.queryProductResponseType.rangeSize}"
    emptyText="#{bindings.queryProductResponseType.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.queryProductResponseType.rangeSize}"
    rowBandingInterval="1"
    filterModel="#{bindings.queryProductResponseTypeQuery.queryDescriptor}"
    queryListener="#{bindings.queryProductResponseTypeQuery.processQuery}"
    filterVisible="true" varStatus="vs" id="ResultTable_t"
    width="99%" partialTriggers="::cb1 ::cb2 ::cb3 it14"
    binding="#{viewScope.GrowerOrderBean.resultTable}"
    columnStretching="last" rowSelection="multiple"
    sortListener="#{viewScope.GrowerOrderBean.sortResultTable_action}"
    autoHeightRows="8" first="0"
    inlineStyle="height:196px;margin:10px"
    selectionListener="#{viewScope.GrowerOrderBean.resultRowSelect_action}">
    <af:column filterable="false" sortable="false" headerText="Select"
    id="c9" width="55" rendered="false"
    filterFeatures="caseInsensitive">
    <div align="center">
    <af:selectBooleanCheckbox value="#{row.bindings.booleanFlag.inputValue}"
    label="#{bindings.queryProductResponseType.hints.booleanFlag.label}"
    required="#{bindings.queryProductResponseType.hints.booleanFlag.mandatory}"
    shortDesc="#{bindings.queryProductResponseType.hints.booleanFlag.tooltip}"
    id="it19" autoSubmit="true">
    <f:validator binding="#{row.bindings.booleanFlag.validator}"/>
    </af:selectBooleanCheckbox>
    </div>
    </af:column>
    <!-- START of column created by SYSTIME -->
    <af:column sortProperty="quantity" headerText="Quantity in Bags" filterFeatures="caseInsensitive"
    id="c54" rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterable="true" sortable="true">
    <af:inputText label="Quantity in Bags" id="it14"
    partialTriggers="it19" autoSubmit="true"
    readOnly="#{row.activeYN == 'N' or row.availability &lt; 0 or row.availability ==0}"
    valueChangeListener="#{viewScope.GrowerOrderBean.compare}">
    <af:validateLongRange id="RangeCheck_Val1" minimum="1"
    maximum="#{row.availability * row.conversion}"
    messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
    messageDetailMinimum="Minimum {0} allowed is {2}"
    messageDetailMaximum="Maximum {0} allowed is {2}"
    hintNotInRange="#{'Quantity In Bags to Order'}"/>
    <af:validateRegExp pattern="^[1-9]+[0-9]*$"
    messageDetailNoMatch="Quantity In Bags must be in whole number format."/>
    <f:validator validatorId="custom.conversionValidator"/>
    </af:inputText>
    </af:column>
    <!-- END of column created by SYSTIME -->
    <af:column sortProperty="quantity" filterable="true"
    sortable="true" headerText="Quantity" id="c3"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" visible="false">
    <div align="center" >
    <af:inputText value="#{row.bindings.quantity.inputValue}"
    label="#{bindings.queryProductResponseType.hints.quantity.label}"
    required="#{bindings.queryProductResponseType.hints.quantity.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.quantity.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.quantity.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.quantity.tooltip}"
    id="it5" partialTriggers="it19"
    readOnly="#{row.activeYN == 'N' or row.availability &lt; 0 or row.availability ==0}">
    <f:validator binding="#{row.bindings.quantity.validator}"/>
    <af:validateLongRange id="RangeCheck_Val" minimum="1"
    maximum="#{row.bindings.availability.inputValue}"
    messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
    messageDetailMinimum="Minimum {0} allowed is {2}"
    messageDetailMaximum="Maximum {0} allowed is {2}"
    hintNotInRange="#{'Quantity to Order'}"/>
    <af:validateRegExp pattern="^[1-9]+[0-9]*$"
    messageDetailNoMatch="Quantity must be in whole number format."/>
    </af:inputText>
    </div>
    </af:column>
    <af:column sortProperty="brand" filterable="true" sortable="true"
    headerText="Brand" id="c10" width="80"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" displayIndex="-1">
    <af:inputText value="#{row.bindings.brand.inputValue}"
    label="#{bindings.queryProductResponseType.hints.brand.label}"
    required="#{bindings.queryProductResponseType.hints.brand.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.brand.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.brand.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.brand.tooltip}"
    id="it7" readOnly="true">
    <f:validator binding="#{row.bindings.brand.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="seedsz" filterable="true" sortable="true"
    headerText="Seed Size" id="c7" width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.seedsz.inputValue}"
    label="#{bindings.queryProductResponseType.hints.seedsz.label}"
    required="#{bindings.queryProductResponseType.hints.seedsz.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.seedsz.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.seedsz.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.seedsz.tooltip}"
    id="it11" readOnly="true"
    contentStyle="text-transform:uppercase">
    <f:validator binding="#{row.bindings.seedsz.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="pckSize" filterable="true"
    sortable="true" headerText="Pkg Size" id="c11"
    width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive"
    inlineStyle="#{row.conversion > 1 ? 'background-color:Yellow;' : 'background-color:White;'}">
    <af:inputText value="#{row.bindings.pckSize.inputValue}"
    label="#{bindings.queryProductResponseType.hints.pckSize.label}"
    required="#{bindings.queryProductResponseType.hints.pckSize.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.pckSize.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.pckSize.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.pckSize.tooltip}"
    id="it8" readOnly="true">
    <f:validator binding="#{row.bindings.pckSize.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="conversion" filterable="true"
    sortable="true" headerText="Conv" id="c4" width="50"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" displayIndex="-1">
    <af:inputText value="#{row.bindings.conversion.inputValue}"
    label="#{bindings.queryProductResponseType.hints.conversion.label}"
    required="#{bindings.queryProductResponseType.hints.conversion.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.conversion.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.conversion.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.conversion.tooltip}"
    id="conversion_it" readOnly="true">
    <f:validator binding="#{row.bindings.conversion.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="treatment" filterable="true"
    sortable="true" headerText="Treatment" id="c13"
    width="70"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.treatment.inputValue}"
    label="#{bindings.queryProductResponseType.hints.treatment.label}"
    required="#{bindings.queryProductResponseType.hints.treatment.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.treatment.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.treatment.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.treatment.tooltip}"
    id="it20" readOnly="true">
    <f:validator binding="#{row.bindings.treatment.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="availability" filterable="true"
    sortable="true" headerText="Availability" id="c15"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.availability> 500 ? '>=500': (row.availability> 100 and row.availability&lt;500 ? '100-500' : row.availability) }"
    label="#{bindings.queryProductResponseType.hints.availability.label}"
    required="#{bindings.queryProductResponseType.hints.availability.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.availability.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.availability.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.availability.tooltip}"
    id="it9" readOnly="true">
    <f:validator binding="#{row.bindings.availability.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="desiredDeliveryDate" filterable="true"
    sortable="true" headerText="Desired Delivery Month" id="c2"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="90">
    <af:selectOneChoice id="soc1" partialTriggers="it19"
    unselectedLabel="#{viewScope.GrowerOrderBean.desiredDeliveryDate}"
    value="#{row.bindings.desiredDeliveryDate.inputValue}"
    readOnly="#{row.activeYN == 'N'}">
    <af:forEach var="item"
    items="#{viewScope.GrowerOrderBean.selectItems}">
    <af:selectItem label="#{item.label}" value="#{item.value}"/>
    </af:forEach>
    </af:selectOneChoice>
    </af:column>
    <af:column sortProperty="maturity" filterable="true"
    sortable="true" headerText="Maturity" id="c5"
    width="60"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <div align="center">
    <af:inputText value="#{row.bindings.maturity.inputValue}"
    label="#{bindings.queryProductResponseType.hints.maturity.label}"
    required="#{bindings.queryProductResponseType.hints.maturity.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.maturity.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.maturity.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.maturity.tooltip}"
    id="it16" readOnly="true">
    <f:validator binding="#{row.bindings.maturity.validator}"/>
    </af:inputText>
    </div>
    </af:column>
    <af:column sortProperty="technology" filterable="true"
    sortable="true" headerText="Technology" id="c14"
    rendered="true" filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.technology.inputValue}"
    label="#{bindings.queryProductResponseType.hints.technology.label}"
    required="#{bindings.queryProductResponseType.hints.technology.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.technology.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.technology.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.technology.tooltip}"
    id="it15" readOnly="true">
    <f:validator binding="#{row.bindings.technology.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="prdLine" filterable="true"
    sortable="true" headerText="Product Line" id="c6"
    width="70"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.prdLine.inputValue}"
    label="#{bindings.queryProductResponseType.hints.prdLine.label}"
    required="#{bindings.queryProductResponseType.hints.prdLine.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.prdLine.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.prdLine.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.prdLine.tooltip}"
    id="it12" readOnly="true">
    <f:validator binding="#{row.bindings.prdLine.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="brandMktName" filterable="true"
    sortable="true" headerText="Marketing Brand" id="c8"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="80">
    <af:inputText value="#{row.bindings.brandMktName.inputValue}"
    label="#{bindings.queryProductResponseType.hints.brandMktName.label}"
    required="#{bindings.queryProductResponseType.hints.brandMktName.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.brandMktName.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.brandMktName.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.brandMktName.tooltip}"
    id="it17" readOnly="true">
    <f:validator binding="#{row.bindings.brandMktName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="itemID" filterable="true" sortable="true"
    headerText="Item#" id="c1"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive" width="60">
    <af:inputText value="#{row.bindings.itemID.inputValue}"
    label="#{bindings.queryProductResponseType.hints.itemID.label}"
    required="#{bindings.queryProductResponseType.hints.itemID.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.itemID.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.itemID.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.itemID.tooltip}"
    id="it6" readOnly="true">
    <f:validator binding="#{row.bindings.itemID.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="descp" filterable="true" sortable="true"
    headerText="Description" id="c17" width="105"
    rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.descp.inputValue}"
    label="#{bindings.queryProductResponseType.hints.descp.label}"
    required="#{bindings.queryProductResponseType.hints.descp.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.descp.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.descp.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.descp.tooltip}"
    id="it10" readOnly="true">
    <f:validator binding="#{row.bindings.descp.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="primaryUOM" filterable="true"
    sortable="true"
    headerText="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
    id="c16" rendered="false"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.primaryUOM.inputValue}"
    label="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
    required="#{bindings.queryProductResponseType.hints.primaryUOM.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.primaryUOM.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.primaryUOM.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.primaryUOM.tooltip}"
    id="it18">
    <f:validator binding="#{row.bindings.primaryUOM.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="secondaryUOM" filterable="true"
    sortable="true"
    headerText="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
    id="c12" rendered="false"
    filterFeatures="caseInsensitive">
    <af:inputText value="#{row.bindings.secondaryUOM.inputValue}"
    label="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
    required="#{bindings.queryProductResponseType.hints.secondaryUOM.mandatory}"
    columns="#{bindings.queryProductResponseType.hints.secondaryUOM.displayWidth}"
    maximumLength="#{bindings.queryProductResponseType.hints.secondaryUOM.precision}"
    shortDesc="#{bindings.queryProductResponseType.hints.secondaryUOM.tooltip}"
    id="it21">
    <f:validator binding="#{row.bindings.secondaryUOM.validator}"/>
    </af:inputText>
    </af:column>
    </af:table>
    <af:spacer width="10" height="5" id="s7"/>
    <af:toolbar id="t1">
    <af:commandButton id="AddToOrderButton2"
    actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
    partialSubmit="true"
    styleClass="addToOrderButton">
    <af:clientListener method="setFocus" type="action"/>
    </af:commandButton>
    </af:toolbar>
    <f:facet name="context">
    <af:group id="g1">
    <af:spacer width="60" height="10" id="s1"/>
    <af:commandButton id="cb4"
    actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
    partialSubmit="true"
    styleClass="addToOrderButton">
    <af:clientListener method="setFocus" type="action"/>
    </af:commandButton>
    </af:group>
    </f:facet>
    <f:facet name="info"/>
    <f:facet name="legend"/>
    <f:facet name="menuBar"/>
    <f:facet name="toolbar"/>
    </af:panelHeader>
    </jsp:root>
    Please reply !!
    Thanks.

Maybe you are looking for