Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7
    • Fix Version/s: 1.7.1
    • Component/s: Tool Integrations
    • Labels:
      None
    • Environment:
      Netbeans 6.0.1

      Description

      Certain methods are not available when creating Visual Web Icefaces applications. For example the following code
      will not compile ( See attached screenshot )

              HtmlInputSecret his = new HtmlInputSecret();
              HtmlCommandButton hcb = new HtmlCommandButton();
              
              his.addAcctionListener(new ActionListener() {
                  public void processAction(ActionEvent ae) {
                      return;
                  }
              });
              
              hcb.requestFocus();

      I did not attempt to identify any other methods and classes that fit this pattern.

      This bug makes 1.7 unusable with Netbeans, making it pretty much a show stopper for people like me.
      1. compile.errors.txt
        0.3 kB
        Alexander Proskurowski
      2. SelectInputText.error.txt
        3 kB
        Alexander Proskurowski
      3. SelectInputText.java
        8 kB
        Alexander Proskurowski
      4. enumerate.java
        9 kB
        Alexander Proskurowski
      1. screenshot-1.jpg
        356 kB

        Activity

        Alexander Proskurowski created issue -
        Alexander Proskurowski made changes -
        Field Original Value New Value
        Attachment screenshot-1.jpg [ 10962 ]
        Hide
        Frank Ye added a comment -

        Please provide a list of Jsf Components that missing function calls. Otherwise, the error will always to there.

        or at least, that If you could using design time jar to compile your project and attach the failed exception to this jira.

        Show
        Frank Ye added a comment - Please provide a list of Jsf Components that missing function calls. Otherwise, the error will always to there. or at least, that If you could using design time jar to compile your project and attach the failed exception to this jira.
        Hide
        Alexander Proskurowski added a comment -

        I created simple java code that uses reflection to generate code that will enable you to find all classes and methods in question.

        Atachments.

        enumerate.java - code to enumerate methods and classes, includes instructions
        SelectInputText.java - sample code generated for SelectInputText component
        SelectInputText.error.txt - errors if ones tries to compile generated code.

        Olek

        Show
        Alexander Proskurowski added a comment - I created simple java code that uses reflection to generate code that will enable you to find all classes and methods in question. Atachments. enumerate.java - code to enumerate methods and classes, includes instructions SelectInputText.java - sample code generated for SelectInputText component SelectInputText.error.txt - errors if ones tries to compile generated code. Olek
        Alexander Proskurowski made changes -
        Attachment enumerate.java [ 10964 ]
        Alexander Proskurowski made changes -
        Attachment SelectInputText.java [ 10965 ]
        Alexander Proskurowski made changes -
        Attachment SelectInputText.error.txt [ 10966 ]
        Hide
        Frank Ye added a comment -

        design time component jar file

        Show
        Frank Ye added a comment - design time component jar file
        Frank Ye made changes -
        Attachment icefaces-comps-1.7.1.jar [ 10996 ]
        Hide
        Frank Ye added a comment -

        Olek,

        what really needed is a diff for classes and methods. The 1.7.1 design time jar is attached. Please provides the detailed diff.

        thanks,
        Frank

        Show
        Frank Ye added a comment - Olek, what really needed is a diff for classes and methods. The 1.7.1 design time jar is attached. Please provides the detailed diff. thanks, Frank
        Hide
        Frank Ye added a comment -

        design time component source

        Show
        Frank Ye added a comment - design time component source
        Frank Ye made changes -
        Attachment icefaces-comps-1.7.1-sources.jar [ 10997 ]
        Hide
        Alexander Proskurowski added a comment -

        If I add icefaces-comps-1.7.1.jar to my project and move it before the 1.7.0 in compile time libraries errors seem to go away. I'll do a bit more testing tomorrow.

        Show
        Alexander Proskurowski added a comment - If I add icefaces-comps-1.7.1.jar to my project and move it before the 1.7.0 in compile time libraries errors seem to go away. I'll do a bit more testing tomorrow.
        Frank Ye made changes -
        Assignee Frank Ye [ frank.ye ]
        Hide
        Frank Ye added a comment -

        How's your test?

        Show
        Frank Ye added a comment - How's your test?
        Hide
        Glenn Holmer added a comment -

        I have a similar problem with a popup menu:

        public void mniAddClicked(ActionEvent evt) {
        if (evt instanceof ContextActionEvent) {

        can't find ContextActionEvent, see http://www.icefaces.org/JForum/posts/list/0/8596.page

        Show
        Glenn Holmer added a comment - I have a similar problem with a popup menu: public void mniAddClicked(ActionEvent evt) { if (evt instanceof ContextActionEvent) { can't find ContextActionEvent, see http://www.icefaces.org/JForum/posts/list/0/8596.page
        Hide
        Frank Ye added a comment -

        the jar file include the ContextActionEvent. Could you try this one.

        Show
        Frank Ye added a comment - the jar file include the ContextActionEvent. Could you try this one.
        Frank Ye made changes -
        Attachment icefaces-comps-1.7.1.jar [ 11049 ]
        Hide
        Frank Ye added a comment -

        From menuPopup tld, it does not expose action or actionListener, how you using the following:

        public void mniAddClicked(ActionEvent evt) {
        if (evt instanceof ContextActionEvent) {

        Show
        Frank Ye added a comment - From menuPopup tld, it does not expose action or actionListener, how you using the following: public void mniAddClicked(ActionEvent evt) { if (evt instanceof ContextActionEvent) {
        Hide
        Alexander Proskurowski added a comment -

        All errors from are gone except the following classes could not be found.

        Show
        Alexander Proskurowski added a comment - All errors from are gone except the following classes could not be found.
        Alexander Proskurowski made changes -
        Attachment compile.errors.txt [ 11050 ]
        Hide
        Frank Ye added a comment -

        trying this one attached. MenuItemCheckbox and MenuItemRadio is not used. why have the reference?

        Show
        Frank Ye added a comment - trying this one attached. MenuItemCheckbox and MenuItemRadio is not used. why have the reference?
        Frank Ye made changes -
        Attachment icefaces-comps-1.7.1.jar [ 11051 ]
        Hide
        Alexander Proskurowski added a comment -

        I just took all the classes that are referenced in the documentation and run them through my test program. Also note that I tested only classes under com.icesoft.faces.components, I did not run classes under com.icesoft.faces through my test program.

        Show
        Alexander Proskurowski added a comment - I just took all the classes that are referenced in the documentation and run them through my test program. Also note that I tested only classes under com.icesoft.faces.components, I did not run classes under com.icesoft.faces through my test program.
        Hide
        Frank Ye added a comment -

        ok, Is this one working for you ...

        Show
        Frank Ye added a comment - ok, Is this one working for you ...
        Hide
        Alexander Proskurowski added a comment -

        Error concerning com.icesoft.faces.component.inputfile.FileUploadServlet is gone, but the other ones are still there.
        Do you want me to run classes under com.icesoft.faces through my program ?

        Show
        Alexander Proskurowski added a comment - Error concerning com.icesoft.faces.component.inputfile.FileUploadServlet is gone, but the other ones are still there. Do you want me to run classes under com.icesoft.faces through my program ?
        Hide
        Frank Ye added a comment -

        including all the classes that mentioned. Let me know if you still have problem.

        Show
        Frank Ye added a comment - including all the classes that mentioned. Let me know if you still have problem.
        Frank Ye made changes -
        Attachment icefaces-comps-1.7.1.jar [ 11052 ]
        Hide
        Alexander Proskurowski added a comment -

        All the errors are gone.

        Do you want me to run classes under com.icesoft.faces through my program ?

        Show
        Alexander Proskurowski added a comment - All the errors are gone. Do you want me to run classes under com.icesoft.faces through my program ?
        Hide
        Frank Ye added a comment -

        Not sure what it really means. If classes inside icefaces-comp.jar (run time), it should be included in design time jar as well. So if this is the case, please do so. icefaces.jar is always in the compile time, but named as icefaces-dt.jar

        Show
        Frank Ye added a comment - Not sure what it really means. If classes inside icefaces-comp.jar (run time), it should be included in design time jar as well. So if this is the case, please do so. icefaces.jar is always in the compile time, but named as icefaces-dt.jar
        Hide
        Alexander Proskurowski added a comment -

        Classes under com.icesoft.faces do not generate any errors.

        It looks like the problem has been fixed.

        Thank you

        Show
        Alexander Proskurowski added a comment - Classes under com.icesoft.faces do not generate any errors. It looks like the problem has been fixed. Thank you
        Hide
        Alexander Proskurowski added a comment -

        Frank,

        I got another problem

        Documentation for HtmlDataTable states that setScrollable method takes Boolean as parameter (and it did in 1.6.2)
        However setScrollable in HtmlDataTableBase which HtmlDataTable extends takes boolean.

        This should probably be filed as a separate bug, as it has nothing to do with Netbeans integration. Should I do this.

        Show
        Alexander Proskurowski added a comment - Frank, I got another problem Documentation for HtmlDataTable states that setScrollable method takes Boolean as parameter (and it did in 1.6.2) However setScrollable in HtmlDataTableBase which HtmlDataTable extends takes boolean. This should probably be filed as a separate bug, as it has nothing to do with Netbeans integration. Should I do this.
        Hide
        Frank Ye added a comment -

        Unlikely anyone is still using a JDK 1.4 server... so it could just setScrollable with Boolean.TRUE.

        Show
        Frank Ye added a comment - Unlikely anyone is still using a JDK 1.4 server... so it could just setScrollable with Boolean.TRUE.
        Hide
        Alexander Proskurowski added a comment -

        setScrollable(Boolean.TRUE) gives an error.

        Show
        Alexander Proskurowski added a comment - setScrollable(Boolean.TRUE) gives an error.
        Hide
        Frank Ye added a comment -

        Are you using a JDK 1.5 compile the code?

        Show
        Frank Ye added a comment - Are you using a JDK 1.5 compile the code?
        Hide
        Alexander Proskurowski added a comment -

        Yes.

        This is from the file you attached earlier

        in HtmlDataTableBase.java

        public void setScrollable(boolean _scrollable)

        { this._scrollable = _scrollable; }

        in HtmlDataTable.java

        public class HtmlDataTable
        extends HtmlDataTableBase {

        from javadoc

        void setScrollable(java.lang.Boolean scrollable)

        So according to javadoc argument should be Boolean, but since HtmlDataTable extends HtmlDataTableBase argument is boolean.

        Show
        Alexander Proskurowski added a comment - Yes. This is from the file you attached earlier in HtmlDataTableBase.java public void setScrollable(boolean _scrollable) { this._scrollable = _scrollable; } in HtmlDataTable.java public class HtmlDataTable extends HtmlDataTableBase { from javadoc void setScrollable(java.lang.Boolean scrollable) So according to javadoc argument should be Boolean, but since HtmlDataTable extends HtmlDataTableBase argument is boolean.
        Hide
        Frank Ye added a comment -

        the implementation does diff, however, you could use Boolean.TRUE to setScrollable with jdk 1.5. So it should be fine. At the same time, jdk 1.5 is part of requirements for jsf 1.2 anyway.

        Show
        Frank Ye added a comment - the implementation does diff, however, you could use Boolean.TRUE to setScrollable with jdk 1.5. So it should be fine. At the same time, jdk 1.5 is part of requirements for jsf 1.2 anyway.
        Hide
        Alexander Proskurowski added a comment -

        Ok, never mind , "operator error"

        Thanks for help

        Show
        Alexander Proskurowski added a comment - Ok, never mind , "operator error" Thanks for help
        Hide
        Glenn Holmer added a comment -

        > From menuPopup tld, it does not expose action or actionListener, how you using the following:

        > public void mniAddClicked(ActionEvent evt) {
        > if (evt instanceof ContextActionEvent) {

        It's on the menu item:

        <ice:menuPopup binding="#

        {Page1.mnuPopup}

        " id="mnuPopup" imageDir="./xmlhttp/css/xp/css-images/" orientation="Vertical">
        <ice:menuItem actionListener="#

        {Page1.mniAddClicked}

        " binding="#

        {Page1.mniAdd}

        " id="mniAdd" value="Add"/>
        <ice:menuItem actionListener="#

        {Page1.mniCutClicked}

        " binding="#

        {Page1.mniCut}

        " id="mniCut" value="Cut"/>
        <ice:menuItem actionListener="#

        {Page1.mniPasteClicked}

        " binding="#

        {Page1.mniPaste}

        " id="mniPaste" value="Paste"/>
        </ice:menuPopup>

        The handler like this won't compile:

        public void mniAddClicked(ActionEvent evt) {
        if (evt instanceof ContextActionEvent)

        This looks to be the same technique used in the popup menu example in the component showcase.

        Show
        Glenn Holmer added a comment - > From menuPopup tld, it does not expose action or actionListener, how you using the following: > public void mniAddClicked(ActionEvent evt) { > if (evt instanceof ContextActionEvent) { It's on the menu item: <ice:menuPopup binding="# {Page1.mnuPopup} " id="mnuPopup" imageDir="./xmlhttp/css/xp/css-images/" orientation="Vertical"> <ice:menuItem actionListener="# {Page1.mniAddClicked} " binding="# {Page1.mniAdd} " id="mniAdd" value="Add"/> <ice:menuItem actionListener="# {Page1.mniCutClicked} " binding="# {Page1.mniCut} " id="mniCut" value="Cut"/> <ice:menuItem actionListener="# {Page1.mniPasteClicked} " binding="# {Page1.mniPaste} " id="mniPaste" value="Paste"/> </ice:menuPopup> The handler like this won't compile: public void mniAddClicked(ActionEvent evt) { if (evt instanceof ContextActionEvent) This looks to be the same technique used in the popup menu example in the component showcase.
        Hide
        Frank Ye added a comment -

        please try the latest icefaces-comps-1.7.1jar and let me know if it is working for you.

        Show
        Frank Ye added a comment - please try the latest icefaces-comps-1.7.1jar and let me know if it is working for you.
        Hide
        Glenn Holmer added a comment -

        It goes here (682311 bytes) ?
        <NB install dir>/vwp_suite/modules/ext/icefaces/icefaces-1.7.0/icefaces-comps.jar

        Still gives a compile error. Alt-shift-I in NetBeans shows no imports found.

        Show
        Glenn Holmer added a comment - It goes here (682311 bytes) ? <NB install dir>/vwp_suite/modules/ext/icefaces/icefaces-1.7.0/icefaces-comps.jar Still gives a compile error. Alt-shift-I in NetBeans shows no imports found.
        Hide
        Frank Ye added a comment -

        Could you try the NB6.1 integration? Let me know if it still fails.

        Show
        Frank Ye added a comment - Could you try the NB6.1 integration? Let me know if it still fails.
        Hide
        Glenn Holmer added a comment -

        I can't even get the beta 6.1 plugin to create a project:

        WARNING [org.netbeans.modules.project.ui.OpenProjectList]
        java.lang.IllegalArgumentException: URI scheme is not "file"
        at java.io.File.<init>(File.java:366)
        at org.netbeans.spi.project.libraries.support.LibrariesSupport.convertURIToFilePath(LibrariesSupport.java:130)
        at org.netbeans.modules.java.project.BrokenReferencesModel.canResolveEvaluatedUri(BrokenReferencesModel.java:289)
        at org.netbeans.modules.java.project.BrokenReferencesModel.getReferences(BrokenReferencesModel.java:274)
        at org.netbeans.modules.java.project.BrokenReferencesModel.isBroken(BrokenReferencesModel.java:168)
        at org.netbeans.spi.java.project.support.ui.BrokenReferencesSupport.isBroken(BrokenReferencesSupport.java:110)
        at org.netbeans.modules.web.project.ui.WebLogicalViewProvider.hasBrokenLinks(WebLogicalViewProvider.java:249)
        at org.netbeans.modules.web.project.WebProject$ProjectOpenedHookImpl.projectOpened(WebProject.java:889)
        at org.netbeans.spi.project.ui.ProjectOpenedHook$1.projectOpened(ProjectOpenedHook.java:81)
        at org.netbeans.spi.project.ui.support.UILookupMergerSupport$OpenHookImpl.projectOpened(UILookupMergerSupport.java:193)
        at org.netbeans.spi.project.ui.ProjectOpenedHook$1.projectOpened(ProjectOpenedHook.java:81)
        [catch] at org.netbeans.modules.project.ui.OpenProjectList.notifyOpened(OpenProjectList.java:951)
        at org.netbeans.modules.project.ui.OpenProjectList.doOpenProject(OpenProjectList.java:999)
        at org.netbeans.modules.project.ui.OpenProjectList.doOpen(OpenProjectList.java:598)
        at org.netbeans.modules.project.ui.OpenProjectList.access$1100(OpenProjectList.java:123)
        at org.netbeans.modules.project.ui.OpenProjectList$3.run(OpenProjectList.java:494)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986)
        SEVERE [global]
        java.lang.IllegalArgumentException: Project icevwp is not open and cannot be set as main.
        at org.netbeans.modules.project.ui.OpenProjectList.setMainProject(OpenProjectList.java:764)
        at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:212)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
        [catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

        Show
        Glenn Holmer added a comment - I can't even get the beta 6.1 plugin to create a project: WARNING [org.netbeans.modules.project.ui.OpenProjectList] java.lang.IllegalArgumentException: URI scheme is not "file" at java.io.File.<init>(File.java:366) at org.netbeans.spi.project.libraries.support.LibrariesSupport.convertURIToFilePath(LibrariesSupport.java:130) at org.netbeans.modules.java.project.BrokenReferencesModel.canResolveEvaluatedUri(BrokenReferencesModel.java:289) at org.netbeans.modules.java.project.BrokenReferencesModel.getReferences(BrokenReferencesModel.java:274) at org.netbeans.modules.java.project.BrokenReferencesModel.isBroken(BrokenReferencesModel.java:168) at org.netbeans.spi.java.project.support.ui.BrokenReferencesSupport.isBroken(BrokenReferencesSupport.java:110) at org.netbeans.modules.web.project.ui.WebLogicalViewProvider.hasBrokenLinks(WebLogicalViewProvider.java:249) at org.netbeans.modules.web.project.WebProject$ProjectOpenedHookImpl.projectOpened(WebProject.java:889) at org.netbeans.spi.project.ui.ProjectOpenedHook$1.projectOpened(ProjectOpenedHook.java:81) at org.netbeans.spi.project.ui.support.UILookupMergerSupport$OpenHookImpl.projectOpened(UILookupMergerSupport.java:193) at org.netbeans.spi.project.ui.ProjectOpenedHook$1.projectOpened(ProjectOpenedHook.java:81) [catch] at org.netbeans.modules.project.ui.OpenProjectList.notifyOpened(OpenProjectList.java:951) at org.netbeans.modules.project.ui.OpenProjectList.doOpenProject(OpenProjectList.java:999) at org.netbeans.modules.project.ui.OpenProjectList.doOpen(OpenProjectList.java:598) at org.netbeans.modules.project.ui.OpenProjectList.access$1100(OpenProjectList.java:123) at org.netbeans.modules.project.ui.OpenProjectList$3.run(OpenProjectList.java:494) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986) SEVERE [global] java.lang.IllegalArgumentException: Project icevwp is not open and cannot be set as main. at org.netbeans.modules.project.ui.OpenProjectList.setMainProject(OpenProjectList.java:764) at org.netbeans.modules.project.ui.actions.NewProject$2.run(NewProject.java:212) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104) [catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
        Hide
        Frank Ye added a comment -

        From stack trace, you have incorrect uri or file link to the libraries.

        Firstly,go to Tool --> Libraries and make sure that libraries have valid path.

        Show
        Frank Ye added a comment - From stack trace, you have incorrect uri or file link to the libraries. Firstly,go to Tool --> Libraries and make sure that libraries have valid path.
        Hide
        Frank Ye added a comment -

        seems to be ok now, please reopen if any

        Show
        Frank Ye added a comment - seems to be ok now, please reopen if any
        Frank Ye made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Fix Version/s 1.7.1 [ 10122 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Frank Ye
            Reporter:
            Alexander Proskurowski
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: