Jsr-201 including varargs in public review

Now that jsr-201 has gone into public review I have sent an email about varargs to:
[email protected]
I have included below some of the reasons why I think the Concise Object Array Literals syntax is better than their currently proposed varargs syntax.
They claim that most of the feedback they have got prefers the vararg syntax, I did another search in this forum and it still appears to me that people prefer the Concise Object Array Literals syntax , hence maybe others could also send their comments to [email protected]
* the callee can clearly see that they are passing in varargs
* the callee can pass in many var arg parameters, not just 1 at the end
e.g.
public void foo(int arg1, Object[] arg2, Integer[]) {
public void test() {
  foo(1, {"hello", true, 5, 5L, 5F, 5.0}, {1, 2, 3});
}* the callee can choose to pass in a different number of arguments based on a condition:
e.g.
public void foo(int arg1, Object[] arg2, int arg3) {
public void test() {
  foo(1, condition ? {"hello", true, 5, 5L, 5F, 5.0} : {"hello", true, 5}, 3);
}* the callee can call other 3rd party methods that already exist without having to wait for them to change all their methods to the ... syntax (Concise Object Array Literals is more compatible with existing code)

They claim that most of the feedback they have got
prefers the vararg syntax, I did another search in
this forum and it still appears to me that people
prefer the Concise Object Array Literals syntax ,
hence maybe others could also send their comments to
[email protected]
I don't like varargs, too. Your observation about this forum may be quite simple to explain - people who really understand problems with varargs do not write to these forums. For lots of people, typing extra { and } with concise array literals will not be an issue. However, they consider this extra curly braces "an overhead" and submit feedback that they like varargs syntax more, just because it does not have curly braces. It seems that they do not fully realize consequences or just simply have not spent enough time to think about them. At the first glance, of course, varargs will look more attractive than concise array literals for method calls.
I also object that "varargs are good because they help to see that certain method is interested only in values of array". We have javadoc for this! One can also use Tiger's annotation facility for this. There is no need to invent new syntaxt just for annotation/documentation. I'm alarmed when I read "this is what I like the most about varargs". It means - varargs are no good.
However, it may not be possible to resurrect concise array literals in Tiger due to timing. My opining on this matter is expressed fully in my JSR-201 comment. Here's a copy:
lease, do not include varargs as they currently specified into Tiger.
There seem to be too much controversy between varagrs and concise
array liters at this point. It is evident that a better solution that
addresses needs for both sides is needed. It may not be enough time to
find such solution for Tiger, but inclusion of varargs into the
language as they currently specified may ruin better alternatives in
the future. For example, concise array literals (or similar proposals)
will look extremely ugly combined with varargs as per PRD.
I understand that varargs are needed to support important marketing
features in Tiger like printf. Yes, it is marketing (with questionable
need in education sector), because real projects will not use printf.
Real projects are using logging and MessageFormat. They are not very
convenient without concise array literals, but at least everybody is
already accustomed to them. People have already written a lot of
helper classes themselves for MessageFormat&Logging that do not need
any varargs and have higher performance than PRD varargs will. They
simply declare methods with varying number of parameters. They have as
may version of their methods as their really need in their project.
This practice is not going to stop with introduction of varargs. Just
look at EnumSet.of(...) series of methods! This kind of
[unquestionably ugly] design even got into Tiger which already
supposed to have varargs.
Varargs break language clarity and consistency in too many places
(overloaded method resolution is clearly getting out of hands). I
doubt that varargs benefits justify their shortcomings.
However, if customer demand for varargs-like facility is overwhelming,
then, at least, consider alternatives that are not based on arrays.
Array-based varargs (as in PRD) are especially devastating for future
language evolution. A special interface or class shall be defined to
pass varargs behind the scenes. For example, the following interface
may be defined in "java.lang":
public interface Indexed<T> extends Iterable<T> {
public int size();
public T get(int index);
// Btw, java.util.List<T> can be retrofitted to implement Indexed<T>
So, in "myMethod(T... arg)" the arg will actually have a type of
"Indexed<T>" instead of "T[]".
This solves a lot of issues! For example, it will become possible to
define varargs based on generic types (which is not possible with
array-based varargs).
Moreover, when compiler creates code to call varargs method it may
create an instance of a special class for chosen small number of
arguments. It is obvious, that a special implementation of Indexed for
one element will be always faster on modern HotSpot than a
single-element array (although naive iteration with "foreach" facility
will require extra Iterator object, but that can be fixed if needed by
recognizing Indexed object as a special case in "foreach" statement).
Performance will be on the side of array-based varargs when number of
arguments is large, but something tells me that people who really need
varargs and drive their inclusion into Java do not care about
performance that much and will be perfectly Ok with extra object that
implements Indexed interface and wraps underlying array for many
argument cases.
In conclusion I must stress that if the following is legal in the
Java language (regardless of underlying implementation):
void myMethod(MyClass... arg); // declaration
myMethod(1, 2, 3); // call site
Then the following must be also legal:
MyClass... arg = 1, 2, 3;

Similar Messages

  • Enums in JSR-201

    The new JSR-201 includes support for enums. IMHO the draft spec (http://jcp.org/aboutJava/communityprocess/jsr/tiger/enum.html) looks great, but it includes the following rather complicated construct. Quote:
    "It is also possible to declare methods on individual enum constants to attach behaviors to the constants (see "Effective Java", P. 108):
    import java.util.*;
    public abstract enum Operation {
    plus {
    double eval(double x, double y) { return x + y; }
    minus {
    double eval(double x, double y) { return x - y; }
    times {
    double eval(double x, double y) { return x * y; }
    divided_by {
    double eval(double x, double y) { return x / y; }
    // Perform arithmetic operation represented by this constant
    abstract double eval(double x, double y);
    public static void main(String args[]) {
    double x = Double.parseDouble(args[0]);
    double y = Double.parseDouble(args[1]);
    for (Iterator<Operation> i = VALUES.iterator(); i.hasNext(); ) {
    Operation op = i.next();
    System.out.println(x + " " + op + " " + y + " = " + op.eval(x, y));
    Running this program produces the following output:
    java Operation 2.0 4.0
    2.0 plus 4.0 = 6.0
    2.0 minus 4.0 = -2.0
    2.0 times 4.0 = 8.0
    2.0 divided_by 4.0 = 0.5
    The above pattern is suitable for moderately sophisticated programmers. It is admittedly a bit tricky, but it is much safer than using a case statement in the base class (Operation), as the pattern precludes the possibility of forgeting to add a behavior for a new constant (you'd get a compile-time error)."
    End quote.
    The alternative would be to have a single eval function in this enum class with a switch on the value of the enum. IMHO this loses a tiny bit of compile-time safety as mentioned above, but you could easily give it runtime safety by adding a 'default' case which throws an exception. And the code would be dead clear.
    IMHO this feature is very odd and complicated and achieves very little. It's also obscure what's going on behind the scenes: plus, minus etc. seem to be behaving as subclasses of Operation instead of constants.
    Shouldn't we just stick with the basic enum proposal, where it's much easier to see that it's syntactic sugar for a subclass of the new java.lang.Enum?

    IMHO this feature is very odd and complicated and
    achieves very little. It's also obscure what's going
    on behind the scenes: plus, minus etc. seem to be
    behaving as subclasses of Operation instead of
    constants.I didn't catch this on my first read of the spec. It does not really say what is happening in a very clear manner.
    I think it is kind of cool though.
    It looks like each enum constant COULD be an instance of a subclass of the enum class.
    This definitly should be better documented and described.
    >
    Shouldn't we just stick with the basic enum proposal,
    where it's much easier to see that it's syntactic
    sugar for a subclass of the new java.lang.Enum?That is the question isn't it.
    Using the same argument, you could say why did they add internal classes. The proposed foreach form of the for statement should definatly be left out also. And Auto-boxing??
    It looks like the trend is towards higher and higher level constructs, gone are the days of K & R C.

  • JDBC 4.0 Public Review

    The JDBC 4.0 Public Review Draft specification is now available on the JCP web site.
    http://jcp.org/aboutJava/communityprocess/pr/jsr221/index.html
    This is the JDBC spec that will be included in Java 6.0 so this is what you'll be living with for the next few years. I strongly encourage you to take a look at it.
    There isn't much room to make significant additions or sweeping changes. Java 6.0 goes final fairly soon. What is important is to have as many eyes as possible review the spec and look for things that are unclear or broken.
    Of course you can post comments here, in fact I encourge you to do so to refine your criticism, but the Expert Group will only see comments emailed to the address on the web page above.
    Major new things include support for XML type, support for an unwrap method, factory methods for large objects, and a lot of bug fixes, clean up, and clarifications of the 3.0 spec. The XML support is intentionally minimal as this is a complex area. It is easier to add new methods than remove old broken ones. The unwrap method is somewhat subtle so look at it closely.
    We didn't get any responses to the Early Review Draft. We would really like a lot more eyes looking for problems and helping to identify areas that are unclear. This is your opportunity to have an impact on the JDBC spec.

    Well, the JDBC 4.0 specification is not yet final, as an implementor we cannot comment or fix a potential bug until the spec is final. Having said that I'll forward this to our rep at the JDBC JSR Expert Group.
    Kuassi - http://db360.blogspot.com/

  • Java Card 2.2.2 draft is out for public review

    A draft for the upcoming release of the Java Card Specification is available for public review.
    The Java Card 2.2.2 Specification will provide numerous enhancements to the award-winning Java Card platform. In particular it will include specific support for contactless communication and ID cards :
    * enhancements to ease the management and increase interoperability of contactless cards.
    * additional cryptography and security features
    * utility APIs for memory-efficient applet development
    Java Card technology v2.2.2 is ready for the next generations of smart card standards, and is fully backward-compatible with previous versions.
    New features in Java Card 2.2.2 :
    * Utility APIs for TLV, BCD, short, int
    * ISO7816-based Extended length APDU support
    * Support for up to 20 logical channels
    * External memory access API
    * Multiple Interfaces management
    * Additional cryptography algorithms : HMAC-MD5, HMAC-SHA1, SHA-256 and Korean Seed
    * Signature with message recovery
    * Partial message digest
    * Standardized Biometrics API
    Please direct your comments on this draft at [email protected] Feedback received before December 15th will be considered for the final version of the specification. For more information on the Java Card Platform Specification v2.2.2, Public Review Draft, refer to the release notes on http://java.sun.com/products/javacard/RELEASENOTES_jcspecsp.html

    The Installer and the Applet Deletion Manager are implemented in the JCRE and GlobalPlatform. On-card the Card Manager manages the content management, communication and the related security. JCRE specifies how it has to handle installation and deletion, but leaves room for different implementations. To the outside world, on a GP card, the Installer/ADM is the Card Manager with a specific AID.
    Installer and ADM are optional. For instance a Java Card Static product does not need an Installer/ADM.
    JCOP cards have the Installer/ADM fully implemented. It uses the GP functionality. The CM has to be selected to install or delete a package/applet.

  • [ANNOUNCE] JSP 2.1 and Faces 1.2 Public Review

    We are pleased to announce the availability of the Public Review
    of the next versions of the specification for JavaServer Pages (JSP)
    and JavaServer Faces (Faces). JSP 2.1 is developed under JSR-245 and
    Faces 1.2 is developed under JSR-252. The two expert groups are working
    ogether to improve the alignment between these two powerful web presentation
    technologies.
    Building on the work that was accomplished with the Early Draft
    Review, this Public Review covers two additional areas that required
    better integration between JSP and Faces:
    - Tree Creation and Content Interweaving
    - Deferred expressions nested within iteration tags
    Please see Appendix E of the JSP spec and the
    Preface of the Faces spec to see details of what's changed.
    To access the specifications:
    JSP 2.1 PR (JSR-245)
    http://jcp.org/aboutJava/communityprocess/pr/jsr245/
    Faces 1.2 PR (JSR-252)
    http://jcp.org/aboutJava/communityprocess/pr/jsr252/
    Sincerely,
    The JSR-245 and JSR-252 Expert Groups

    Can you confirm reports that the Unified EL is still not going to allow method calls on Java objects?
    This has had a major impact on Joda-Time http://joda-time.sourceforge.net (a replacement for all the date and calendar classes in the JDK). The JSP and JSF specs expect to get all of their date objects as java.util.Date. However, our classes do not extend Date, but instead provide a toDate() method for easy conversion. However, with the EL being so restrictive it cannot call the toDate() method, causing no end of trouble.
    The mailing list thread is here:
    http://sourceforge.net/mailarchive/forum.php?thread_id=7037421&forum_id=8530
    It really is incredibly narrow minded to block method calls from the EL. Joda-Time is just one of many projects that would benefit from allowing method calls. As it is, I will probably have to pollute the Joda-Time library by providing a getAsDate() method, which is frankly crap.

  • [Announce] WSRP 1.0 Primer available for public review

    A public draft of WSRP 1.0 Primer is now available for review and
    comments. This document may help those trying to figure out the nuts and
    bolts of WSRP. If you have any comments, please post at the link below.
    Subbu
    A public review period for the WSRP v1 Primer (located at
    http://www.oasis-open.org/committees/download.php/9002/wsrp-primer-1.0-draft-0.9.pdf)
    will run until October 2, 2004. Please use the WSRP comment facility at
    http://www.oasis-open.org/committees/comments/form.php?wg_abbrev=wsrp to
    provide feedback to the TC.
    Rich Thompson
    OASIS WSRP TC Chair

    As explained by Marc Fluery of JBoss, there are essentially three types of
    open-source:
    1) Corporations that open their source for market share, such as IBM's Eclipse, that
    then uses it to market WebSphere Studio
    2) Hobbyist who develop an open-source project for free. The hobbyist may be a true
    professional developer, but he is dedicated to his project as a hobby. In this situation,
    donations are substantial enough to pay a dedicated developer.
    3) Professional Open-Source in which developer is paid to maintain and develop an
    open-source project in the hopes of making money with it through consulting and
    professional services.
    My question to the MyFaces team, which type of open-source are you?
    As a corporate developer, I would hope it is Professional Open-Source, since that
    model may have more support for the product I am using.
    -Me

  • Public Review of SKSML v1.0

    FYI.
    The OASIS EKMI Technical Committee would be grateful for any comments
    received from members of this forum about the key-management protocol.
    If you are interested in reviewing a working implementation of an early
    version of this protocol - written completely in Java - , you can get the
    implementation here:
    http://www.strongkey.org.
    Thank you.
    Arshad Noor
    StrongAuth, Inc.
    ----- Forwarded Message -----
    From: "Mary McRae" <[email protected]>
    To: [email protected], [email protected]
    Cc: "ekmi" <[email protected]>
    Sent: Thursday, July 24, 2008 7:04:49 PM (GMT-0800) America/Los_Angeles
    Subject: [ekmi] Public Review of SKSML v1.0
    To OASIS members, Public Announce Lists:
    The OASIS Enterprise Key Management Infrastructure (EKMI) TC has recently
    approved the following specification as a Committee Draft and approved the
    package for public review:
    Symmetric Key Services Markup Language (SKSML) Version 1.0
    The public review starts today, 24 July 2008, and ends 23 September 2008. This
    is an open invitation to comment. We strongly encourage feedback from potential
    users, developers and others, whether OASIS members or not, for the sake of
    improving the interoperability and quality of OASIS work. Please feel free to
    distribute this announcement within your organization and to other appropriate
    mail lists.
    More non-normative information about the specification and the technical
    committee may be found at the public home page of the TC at:
    http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ekmi. Comments may be
    submitted to the TC by any person through the use of the OASIS TC Comment
    Facility which can be located via the button marked "Send A Comment" at the top
    of that page, or directly at:
    http://www.oasis-open.org/committees/comments/index.php?wg_abbrev=ekmi.
    Submitted comments (for this work as well as other works of that TC) are
    publicly archived and can be viewed at:
    http://lists.oasis-open.org/archives/ekmi-comment/. All comments submitted to
    OASIS are subject to the OASIS Feedback License, which ensures that the feedback
    you provide carries the same obligations at least as the obligations of the TC
    members.
    The specification document and related files are available here:
    Editable Source (Authoritative):
    http://docs.oasis-open.org/ekmi/sksml/v1.0/pr01/SKSML-1.0-Specification.odt
    PDF:
    http://docs.oasis-open.org/ekmi/sksml/v1.0/pr01/SKSML-1.0-Specification.pdf
    HTML:
    http://docs.oasis-open.org/ekmi/sksml/v1.0/pr01/SKSML-1.0-Specification.html
    Schema:
    http://docs.oasis-open.org/ekmi/sksml/v1.0/pr01/schema/
    Abstract:
    This normative specification defines the first (1.0) version of the Symmetric
    Key Services Markup Language (SKSML), an XML-based messaging protocol, by which
    applications executing on computing devices may request and receive symmetric
    key-management services from centralized key-management servers, securely, over
    networks. Applications using SKSML are expected to either implement the SKSML
    protocol, or use a software library - called the Symmetric Key Client Library
    (SKCL) - that implements this protocol. SKSML messages are transported within a
    SOAP layer, protected by a Web Services Security (WSS) header and can be used
    over standard HTTP securely.
    OASIS and the EKMI TC welcome your comments.
    Mary P McRae
    Manager of TC Administration, OASIS
    email: [email protected]
    web: www.oasis-open.org

    ejp wrote:
    And who is constructing another list of rules?
    You* are.No,I am not costructing any more rules but asking if I missed any rules,since I am unsure of all the rules.May be in some other page of JLS ,some more rules may be defined.
    My question is simple,I have these set of rules extracted from JLSExactly. Here is where you are 'constructing another list of rules'.No,again.
    extracted from JLS and I just wanted to review them.Why? You have the JLS. You also have the compiler.Very True,I am reviewing them.
    Perhaps,I was not clear enough. :)No, you were clear enough, you just didn't have any motivation for what you are doing.The motivation was just to make sure that I knew the rules for declaring a top class level class.And yes,I will read JLS to find out some more than these(if they exist).

  • PKGBUILD Public review request for wxFreeChart

    Hi Arch Linux community.I am a newbie on Arch Linux. Just installed it a few months ago & I like it's install once, lifetime updates without reinstalling philosophy! Please review my first PKGBUILD for wxFreeChart:
    http://wxcode.sourceforge.net/components/freechart/
    Here is the PKGBUILD
    # Maintainer: Sum <keansum AT gmail DOT com>
    pkgname=freechart
    pkgver=1.6
    pkgrel=1
    pkgdesc="Free powerful charting library based on wxWidgets."
    arch=('x86_64' 'i686')
    url="http://wxcode.sourceforge.net/components/freechart/"
    license=('custom:"wxWindows"')
    depends=('wxgtk')
    source=(http://downloads.sourceforge.net/project/wxcode/Components/wxFreeChart/$pkgname-$pkgver.tar.gz
    'configure.patch'
    'LICENSE')
    md5sums=('0e39d22a76c43df9e566ca1e1b669594'
    '38dd8576fcd0b2c2e726499b2042a42d'
    '9063869c9f1586dc0bd7c3f8d5060f76')
    prepare() {
    export CPLUS_INCLUDE_PATH=/usr/include/wx-3.0/:/usr/lib/wx/include/gtk2-unicode-3.0/
    export LIBS=-lwx_gtk2u_adv-3.0
    cd "$srcdir/$pkgname"
    patch --verbose configure $srcdir/configure.patch
    build() {
    cd "$srcdir/$pkgname"
    ./configure --prefix=/usr
    make
    package() {
    cd "$srcdir/$pkgname"
    make DESTDIR="$pkgdir/" install
    install -D -m644 $srcdir/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    Here is the LICENSE file.
    wxWidgets is currently licenced under the "wxWindows Library Licence" pending
    approval of the "wxWidgets Library Licence" which will be identical apart from
    the name.
    The wxWindows Library Licence is essentially the L-GPL (Library General Public
    Licence), with an exception stating that derived works in binary form may be
    distributed on the user's own terms. This is a solution that satisfies those
    who wish to produce GPL'ed software using wxWidgets, and also those producing
    proprietary software.
    Participants in the discussion that led to this decision include the folk from
    AbiSource, Robert Roebling, Julian Smart, Markus Fleck, Karsten Ballueder, and
    some advice from Richard Stallman. Richard has confirmed that the new licence
    is compatible with GPL'ed applications. However, there are no significant
    restrictions on proprietary applications.
    The wxWindows Library Licence has been approved by the Open Source Initiative.
    In August 2005, an ambiguity in Clause 2 was removed (replaced "the user's"
    with "your") and the version bumped to 3.1.
    ... then this last one is a patch file for the configure script. The code is for version 1.6 but to me it looks like the author forgotten to update the version from 1.4 to 1.6 in the configure script. I ahve checked in freechart/ReadMe.txt saying it is verion 1.6 and confirmed that the 1.6 addition of freechart/src/chartsplitpanel.cpp indeed exists.
    *** 1,6 ****
    #! /bin/sh
    # Guess values for system-dependent variables and create Makefiles.
    ! # Generated by GNU Autoconf 2.63 for WXFREECHART 1.4.
    # Report bugs to <[email protected]>.
    --- 1,6 ----
    #! /bin/sh
    # Guess values for system-dependent variables and create Makefiles.
    ! # Generated by GNU Autoconf 2.63 for WXFREECHART 1.6.
    # Report bugs to <[email protected]>.
    *** 596,603 ****
    # Identity of this package.
    PACKAGE_NAME='WXFREECHART'
    PACKAGE_TARNAME='wxfreechart'
    ! PACKAGE_VERSION='1.4'
    ! PACKAGE_STRING='WXFREECHART 1.4'
    PACKAGE_BUGREPORT='[email protected]'
    ac_subst_vars='LTLIBOBJS
    --- 596,603 ----
    # Identity of this package.
    PACKAGE_NAME='WXFREECHART'
    PACKAGE_TARNAME='wxfreechart'
    ! PACKAGE_VERSION='1.6'
    ! PACKAGE_STRING='WXFREECHART 1.6'
    PACKAGE_BUGREPORT='[email protected]'
    ac_subst_vars='LTLIBOBJS
    *** 1332,1338 ****
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
    ! \`configure' configures WXFREECHART 1.4 to adapt to many kinds of systems.
    Usage: $0 [OPTION]... [VAR=VALUE]...
    --- 1332,1338 ----
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
    ! \`configure' configures WXFREECHART 1.6 to adapt to many kinds of systems.
    Usage: $0 [OPTION]... [VAR=VALUE]...
    *** 1398,1404 ****
    if test -n "$ac_init_help"; then
    case $ac_init_help in
    ! short | recursive ) echo "Configuration of WXFREECHART 1.4:";;
    esac
    cat <<\_ACEOF
    --- 1398,1404 ----
    if test -n "$ac_init_help"; then
    case $ac_init_help in
    ! short | recursive ) echo "Configuration of WXFREECHART 1.6:";;
    esac
    cat <<\_ACEOF
    *** 1506,1512 ****
    test -n "$ac_init_help" && exit $ac_status
    if $ac_init_version; then
    cat <<\_ACEOF
    ! WXFREECHART configure 1.4
    generated by GNU Autoconf 2.63
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
    --- 1506,1512 ----
    test -n "$ac_init_help" && exit $ac_status
    if $ac_init_version; then
    cat <<\_ACEOF
    ! WXFREECHART configure 1.6
    generated by GNU Autoconf 2.63
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
    *** 1520,1526 ****
    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    ! It was created by WXFREECHART $as_me 1.4, which was
    generated by GNU Autoconf 2.63. Invocation command line was
    $ $0 $@
    --- 1520,1526 ----
    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    ! It was created by WXFREECHART $as_me 1.6, which was
    generated by GNU Autoconf 2.63. Invocation command line was
    $ $0 $@
    *** 10248,10254 ****
    # report actual input values of CONFIG_FILES etc. instead of their
    # values after options handling.
    ac_log="
    ! This file was extended by WXFREECHART $as_me 1.4, which was
    generated by GNU Autoconf 2.63. Invocation command line was
    CONFIG_FILES = $CONFIG_FILES
    --- 10248,10254 ----
    # report actual input values of CONFIG_FILES etc. instead of their
    # values after options handling.
    ac_log="
    ! This file was extended by WXFREECHART $as_me 1.6, which was
    generated by GNU Autoconf 2.63. Invocation command line was
    CONFIG_FILES = $CONFIG_FILES
    *** 10298,10304 ****
    _ACEOF
    cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
    ac_cs_version="\\
    ! WXFREECHART config.status 1.4
    configured by $0, generated by GNU Autoconf 2.63,
    with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
    --- 10298,10304 ----
    _ACEOF
    cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
    ac_cs_version="\\
    ! WXFREECHART config.status 1.6
    configured by $0, generated by GNU Autoconf 2.63,
    with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
    I have used namcap to check the PKGBUILD and the generated freechart-1.6-1-x86_64.pkg.tar.xz. Both passed. However when I use the -i switch, I get a whole bunch of messages. I am quite sure these dependencies do not need to be included in the PKGBUILD. Please correct if I am wrong.
    $ namcap -i freechart-1.6-1-x86_64.pkg.tar.xz
    freechart I: Link-level dependence (wxgtk) in file ['usr/lib/libwx_baseu-3.0.so.0', 'usr/lib/libwx_gtk2u_aui-3.0.so.0', 'usr/lib/libwx_gtk2u_core-3.0.so.0']
    freechart I: Link-level dependence (gcc-libs) in file ['usr/lib/libgcc_s.so.1', 'usr/lib/libstdc++.so.6']
    freechart I: Link-level dependence (glibc) in file ['usr/lib/libm.so.6', 'usr/lib/libc.so.6']
    freechart I: Symlink (usr/lib/libwxcode_gtk2u_freechart-3.0.so.0) found that points to libwxcode_gtk2u_freechart-3.0.so.0.0.0
    freechart I: Symlink (usr/lib/libwxcode_gtk2u_freechart-3.0.so) found that points to libwxcode_gtk2u_freechart-3.0.so.0
    freechart I: Dependency covered by dependencies from link dependence (freetype2)
    freechart I: Dependency covered by dependencies from link dependence (jasper)
    freechart I: Dependency covered by dependencies from link dependence (xextproto)
    freechart I: Dependency covered by dependencies from link dependence (gdbm)
    freechart I: Dependency covered by dependencies from link dependence (gstreamer0.10-base)
    freechart I: Dependency covered by dependencies from link dependence (graphite)
    freechart I: Dependency covered by dependencies from link dependence (libcap)
    freechart I: Dependency covered by dependencies from link dependence (libx11)
    freechart I: Dependency covered by dependencies from link dependence (coreutils)
    freechart I: Dependency covered by dependencies from link dependence (shared-mime-info)
    freechart I: Dependency covered by dependencies from link dependence (pcre)
    freechart I: Dependency covered by dependencies from link dependence (xf86vidmodeproto)
    freechart I: Dependency covered by dependencies from link dependence (shadow)
    freechart I: Dependency covered by dependencies from link dependence (readline)
    freechart I: Dependency covered by dependencies from link dependence (gtk2)
    freechart I: Dependency covered by dependencies from link dependence (libxdmcp)
    freechart I: Dependency covered by dependencies from link dependence (damageproto)
    freechart I: Dependency covered by dependencies from link dependence (dbus)
    freechart I: Dependency covered by dependencies from link dependence (avahi)
    freechart I: Dependency covered by dependencies from link dependence (cracklib)
    freechart I: Dependency covered by dependencies from link dependence (videoproto)
    freechart I: Dependency covered by dependencies from link dependence (libsasl)
    freechart I: Dependency covered by dependencies from link dependence (libxft)
    freechart I: Dependency covered by dependencies from link dependence (libxrandr)
    freechart I: Dependency covered by dependencies from link dependence (fontconfig)
    freechart I: Dependency covered by dependencies from link dependence (libxdamage)
    freechart I: Dependency covered by dependencies from link dependence (acl)
    freechart I: Dependency covered by dependencies from link dependence (pixman)
    freechart I: Dependency covered by dependencies from link dependence (ncurses)
    freechart I: Dependency covered by dependencies from link dependence (libdbus)
    freechart I: Dependency covered by dependencies from link dependence (cairo)
    freechart I: Dependency covered by dependencies from link dependence (zlib)
    freechart I: Dependency covered by dependencies from link dependence (xproto)
    freechart I: Dependency covered by dependencies from link dependence (harfbuzz)
    freechart I: Dependency covered by dependencies from link dependence (libomxil-bellagio)
    freechart I: Dependency covered by dependencies from link dependence (kbproto)
    freechart I: Dependency covered by dependencies from link dependence (sh)
    freechart I: Dependency covered by dependencies from link dependence (pango)
    freechart I: Dependency covered by dependencies from link dependence (pam)
    freechart I: Dependency covered by dependencies from link dependence (libxau)
    freechart I: Dependency covered by dependencies from link dependence (llvm-libs)
    freechart I: Dependency covered by dependencies from link dependence (libxfixes)
    freechart I: Dependency covered by dependencies from link dependence (attr)
    freechart I: Dependency covered by dependencies from link dependence (mesa-dri)
    freechart I: Dependency covered by dependencies from link dependence (libtxc_dxtn)
    freechart I: Dependency covered by dependencies from link dependence (xz)
    freechart I: Dependency covered by dependencies from link dependence (gdk-pixbuf2)
    freechart I: Dependency covered by dependencies from link dependence (elfutils)
    freechart I: Dependency covered by dependencies from link dependence (libxv)
    freechart I: Dependency covered by dependencies from link dependence (mesa)
    freechart I: Dependency covered by dependencies from link dependence (renderproto)
    freechart I: Dependency covered by dependencies from link dependence (systemd)
    freechart I: Dependency covered by dependencies from link dependence (libxcursor)
    freechart I: Dependency covered by dependencies from link dependence (hwids)
    freechart I: Dependency covered by dependencies from link dependence (bash)
    freechart I: Dependency covered by dependencies from link dependence (glibc)
    freechart I: Dependency covered by dependencies from link dependence (expat)
    freechart I: Dependency covered by dependencies from link dependence (e2fsprogs)
    freechart I: Dependency covered by dependencies from link dependence (linux-api-headers)
    freechart I: Dependency covered by dependencies from link dependence (libffi)
    freechart I: Dependency covered by dependencies from link dependence (libxi)
    freechart I: Dependency covered by dependencies from link dependence (libice)
    freechart I: Dependency covered by dependencies from link dependence (libldap)
    freechart I: Dependency covered by dependencies from link dependence (libxcomposite)
    freechart I: Dependency covered by dependencies from link dependence (libgpg-error)
    freechart I: Dependency covered by dependencies from link dependence (libxcb)
    freechart I: Dependency covered by dependencies from link dependence (libseccomp)
    freechart I: Dependency covered by dependencies from link dependence (keyutils)
    freechart I: Dependency covered by dependencies from link dependence (xcb-proto)
    freechart I: Dependency covered by dependencies from link dependence (randrproto)
    freechart I: Dependency covered by dependencies from link dependence (bzip2)
    freechart I: Dependency covered by dependencies from link dependence (libxml2)
    freechart I: Dependency covered by dependencies from link dependence (libpciaccess)
    freechart I: Dependency covered by dependencies from link dependence (util-linux)
    freechart I: Dependency covered by dependencies from link dependence (krb5)
    freechart I: Dependency covered by dependencies from link dependence (compositeproto)
    freechart I: Dependency covered by dependencies from link dependence (glib2)
    freechart I: Dependency covered by dependencies from link dependence (libxinerama)
    freechart I: Dependency covered by dependencies from link dependence (gstreamer0.10)
    freechart I: Dependency covered by dependencies from link dependence (kbd)
    freechart I: Dependency covered by dependencies from link dependence (kmod)
    freechart I: Dependency covered by dependencies from link dependence (filesystem)
    freechart I: Dependency covered by dependencies from link dependence (libxxf86vm)
    freechart I: Dependency covered by dependencies from link dependence (tzdata)
    freechart I: Dependency covered by dependencies from link dependence (libsm)
    freechart I: Dependency covered by dependencies from link dependence (pambase)
    freechart I: Dependency covered by dependencies from link dependence (libcups)
    freechart I: Dependency covered by dependencies from link dependence (atk)
    freechart I: Dependency covered by dependencies from link dependence (libgl)
    freechart I: Dependency covered by dependencies from link dependence (libsystemd)
    freechart I: Dependency covered by dependencies from link dependence (xineramaproto)
    freechart I: Dependency covered by dependencies from link dependence (lzo)
    freechart I: Dependency covered by dependencies from link dependence (orc)
    freechart I: Dependency covered by dependencies from link dependence (inputproto)
    freechart I: Dependency covered by dependencies from link dependence (libpng)
    freechart I: Dependency covered by dependencies from link dependence (db)
    freechart I: Dependency covered by dependencies from link dependence (libdatrie)
    freechart I: Dependency covered by dependencies from link dependence (fixesproto)
    freechart I: Dependency covered by dependencies from link dependence (hicolor-icon-theme)
    freechart I: Dependency covered by dependencies from link dependence (gtk-update-icon-cache)
    freechart I: Dependency covered by dependencies from link dependence (libjpeg)
    freechart I: Dependency covered by dependencies from link dependence (libtirpc)
    freechart I: Dependency covered by dependencies from link dependence (gcc-libs)
    freechart I: Dependency covered by dependencies from link dependence (openssl)
    freechart I: Dependency covered by dependencies from link dependence (gmp)
    freechart I: Dependency covered by dependencies from link dependence (libxext)
    freechart I: Dependency covered by dependencies from link dependence (iana-etc)
    freechart I: Dependency covered by dependencies from link dependence (libutil-linux)
    freechart I: Dependency covered by dependencies from link dependence (libthai)
    freechart I: Dependency covered by dependencies from link dependence (perl)
    freechart I: Dependency covered by dependencies from link dependence (libxrender)
    freechart I: Dependency covered by dependencies from link dependence (wayland)
    freechart I: Dependency covered by dependencies from link dependence (libtiff)
    freechart I: Dependency covered by dependencies from link dependence (libxshmfence)
    freechart I: Dependency covered by dependencies from link dependence (libgcrypt)
    freechart I: Dependency covered by dependencies from link dependence (libdaemon)
    freechart I: Dependency covered by dependencies from link dependence (libdrm)
    freechart I: Depends as namcap sees them: depends=(wxgtk)
    Many thanks!

    Hi it turns out that the SVN version is the most up to date which does not need to be patched as it has the right version numbers. I have created a new PKGBUILD.
    # Maintainer: kso <keansum AT gmail DOT com>
    pkgname=freechart-svn
    pkgver=r3169
    pkgrel=1
    pkgdesc="Free powerful charting library based on wxWidgets."
    arch=('x86_64' 'i686')
    url="http://wxcode.sourceforge.net/components/freechart/"
    license=('custom:"wxWindows"')
    depends=('wxgtk')
    makedepends=('subversion')
    source=('svn+http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/')
    md5sums=('SKIP')
    _svntrunk=http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/
    _svnmod=freechart
    pkgver() {
    cd "$_svnmod"
    local ver="$(svnversion)"
    printf "r%s" "${ver//[[:alpha:]]}"
    build() {
    cd "$srcdir"
    msg "Connecting to SVN server...."
    if [[ -d "$_svnmod/.svn" ]]; then
    (cd "$_svnmod" && svn up -r "$pkgver")
    else
    svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
    fi
    msg "SVN checkout done or server timeout"
    msg "Starting build..."
    rm -rf "$srcdir/$_svnmod-build"
    svn export "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
    cd "$srcdir/$_svnmod-build"
    # BUILD HERE
    ./configure --prefix=/usr
    make
    package() {
    cd "$srcdir/$_svnmod-build"
    make DESTDIR="$pkgdir/" install
    # install LICENSE
    install -D -m644 $srcdir/$_svnmod/license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    I have uploaded onto the AUR. I have checked using namcap. Please let me know if there are any mistakes.  Many thanks!

  • Including External LVOOP Public Methods in Executable

    Hello,
    I have an application which on the top level must 'talk' to several different instruments; a LabJack UE9 (USB) , a Newport Motion Controller (USB-Serial), etc.    When I wrote the drivers for these instruments in LV, I used the LVOOP functionality and created individual Classes with public methods for each of the different devices I need to communicate with.  Sounds logical to me, anyway. 
    In my top-level application, I call the public methods (and must include local instances of the LVOOP classes) for those independant instrument-specific classes.  In the development mode, everything works peachy.   However, when I go to build the application executable (build), I get some weird behavior;
    Firstly, with the default setting in 'Additional Exclusions' in the Build Properties of 'Remove as much as possible', I get errors when the builder gets to my independent classes.  I get the message:
    "An error occurred while building the following file:
    C:\Documents and Settings\Wes Ramm\My Documents\Projects\RDT\LabJack\Class\Common Methods\Get DO Line State.vi
    The VI became broken after disconnecting type definitions. Open the Build Specification and choose a different option on the Additional Exclusions page."
    Ok, it seems that the class object is not linking, but I can get around that by selecting the second option in 'Additional Exclusions' ; 'Remove unreferenced project library members'.  BUT, when the build is done, I get a couple of subdirectories with vi's named for all the different class methods for each independent that I am calling.  There is no front panel or block diagram for the vis, so it looks like they are correctly 'included' in the build, but it seems cumbersome to include these subdirectories.
    I even tried to 'add' the independant classes to the project by 'Add Folder', but got the same behavior. 
    The classes that I made are not a part of the top level VI, and the top Leve VI is not a member of any of the classes, so this I think is the crux of the matter.  However, I am instantiating only the public methods, and the problems only pop up when I try to build the executable.
    Am I missing something?  Is there a more elegant way to do this?  Any advise / tutorials / knowledgebase articles you can point me to?
    The tree for the directory structure for my build looks like this (for reference)
    \\Application Directory\
                             Executable
                             \Config
                                      \ Class One.lvclass  (first external class that I am calling in my top-level vi)
                                          \ Method 1
                                          \ Method 2
                                          \ Method 3
                                           \ etc
                                      \ Class Two.lvclass
                                            \Method 1
                                            \Method 2
                                            \Method 3
                                            \ etc
    Thanks,
    Wes Ramm
    Wes Ramm, Cyth UK
    CLD, CPLI

    Hello Wes Ramm,
    It's better late than never! Hence I'm going to address some of the issues that you've brought up.
    1) Which version of LabVIEW are you using? LabVIEW 8.5 has fixed a lot of issues that occured between the Application Builder and LV Classes. If you were using LV 8.2, I would suggest changing to LV 8.5 or at least LV 8.2.1
    2) Apart from setting "Do not disconnect type definitions or remove unreferenced members" in the Additional Exclusions page, I would suggest also checking the box against "Enable Debugging" on the Advanced Page.
    The following forum post has discussed many of the problems that have come up when building an executable which uses LVOOP classes. Hope this helps.

  • How to find good games/apps in the store besides the public reviews?

    Hi all, I'm trying to find good games/apps in the store to put on my 32gig touch. I know about the reviews for the games/apps but with so many negative comments for some, for example F***G c**p, reboots the ipod touch every time I play it or run it for apps (insert Maker's name ere) want a refund don't download & giving it 1 star & the list just goes on, out of the one's I've thought I would either buy or download (for the free one's) I've not even botherd as I think to myself. With so many negative comment's the app/game must be rubbish. Doesn't apple review the comments put on the games/apps reviews?. So is there another way to find out what is good/bad in the app store besides trawling though 95% of negative comments? cheers
    Message was edited by: dj-toonz

    I tried to follow the instructions using iphone 5. When you get to step 5,  swipe your finger over the apps. It won't work. Does anyone have iphone 5 and try to hide unwanted apps sucessuflly. Please share with us. Thanks

  • Does the UK version of the Beats By Dre Studio Wireless Headset not have a cleaning cloth included as most unboxing reviews show that one is included yet I didn't have one in my box and the 'what's in the box' section on apple store doesn't list one?

    Does the UK version of the Beats By Dre Studio 2.0 Wireless Headset include a cleaning cloth?

    Welcome to the Apple Discussions!
    My battery had not been fully recharging for a while. For weeks, it would "max out" at a lower percentage, lowering incrementally pretty much weekly. No, I am not eligible for the recall.
    Besides your other issues, it may simply be time for a new battery. The batteries not only have a limited number of complete charge cycles, they also have a shelf life that could expire even if you've never used it. Here is a little bit of information from Apple on batteries:
    http://www.apple.com/batteries/
    http://www.apple.com/batteries/notebooks.html
    As far as your hard drive is considered, I'm guessing you don't have an AppleCare Protection Plan? It really does sound like the hard drive is failing. Have you started up from your Apple Hardware Test disk yet and run the extended tests?
    If you decide to replace your hard drive that's out of warranty, you just need a 2.5" IDE/ATA hard drive that's less than 9.5mm tall. (This is a standard configuration for notebooks.) While it's possible to install yourself, it's quite the operation and you may want to take your iBook to an Apple Authorized Service Provider to do it for you. Or you might consider sending your iBook in to a service like MCE Technologies to do it for you.
    -Doug

  • JSR 168 included in Weblogic 9 ?

    Is-it true that now we are able to deploy portlets in weblogic server 9 ?
    Does this means that we don't need any more to purchase
    weblogic portal ?
    Thanks for your help,

    For those that might care. It appears that portals.jar does not come along and must be included. it can be found at <WebLogic Home>/weblogic81/portal/lib/netuix/system/ext/system/portlet.jar
    You must include this in your WEB-INF/lib/ for this to compile. There are also a great number of jsp fragments that require you rename them to jspf and change the links. Lastly I am working on the weather bean which apparently has an undefined constructor.

  • Enum type class hierarchy.

    Hi,
    I was reviewing and eagerly testing the Typesafe Enum Facility (enum types) on 1.5.0 beta, which is still in Public Review in the JCP (JSR-201).
    I would would like to mention a missing feature that I find usefull and powerfull for a custom framework architecture.
    I understand and agree with respect to the first question on the JSR 201 FAQ, about subclassing enums.
    Having enumeration constants from both the superclass and the subclass is quite confusing and I agree with disallowing it from the language.
    But I miss the ability to inherit custom behavior (methods, and not enumeration constants), for an enum type, from a middle superclass. This middle superclass could be a base class for enum types within a specific development framework (and of course, java.lang.Enum would by in is class hierachy).
    The actual proposal allows for an enum type to only have java.lang.Enum as superclass, from which it inherits methods like name() and ordinal(). But in a proyect where a large number of diferent enum types with a common and custom extra framework behavior (like a localizedName() or propertyKey() method for example) would need the implementation of this behavior in each enum type source code (or in a helper class).
    Following the example above, the actual proposal would need the following coding in order to add an additional behavior to all (or some) of the enum types in a development proyect:
    public interface MyBaseFrameworkEnum {
         String localizedName();
         String propertyKey();
    public enum FooEnum implements MyBaseFrameworkEnum {
         FOO_A, FOO_B;
         public String localizedName() {
              //..... coding necesary in every enum implementing BaseFrameworkEnum
         public String propertyKey() {
              //..... coding necesary in every enum implementing BaseFrameworkEnum
    As you see, every enum type in my example framework (like FooEnum) would need to code both methods localizedName() and propertyKey() which would produce a lack of centralized code and increase of class file size.
    It would be very powerfull to be able to use the following coding:
    public abstract enum MyBaseFrameworkEnum {
         public String localizedName() {
              //..... coding centralized
         public String propertyKey() {
              //..... coding centralized
    public enum FooEnum extends MyBaseFrameworkEnum {
         FOO_A, FOO_B;
    As you see, with this abstract enum MyBaseFrameworkEnum (which does not falls in the subclassing problem mentioned in the FAQ) does not define enum constants and will pass its custom behavior to its subclass enums. thus centralizing the related code.
    I generally use an implementation of the Typesafe Enum Pattern so I really am looking forward for this new Typesafe Enum Facility in the Java language. But, as an example, I generally use common features in my enums, a properyKey() method used to get a unique key in order to internationalize my applications, since a description to enums is normally needed to be displayed to users.
    I believe this capability would be very powerfull in cases where common features are needed for enums in a development proyect with respect of:
    - code centralization and maintainance.
    - class file size.
    - source code readability.
    This extension would not contradict the actual definition, it would only allow for an enum type to be able to extend from another abstract enum type which has no enumeration constants.
    I believe that if there are other programmers that find this extension worth, it could make it in the JSR-201(which is in public review until February 21th) process before the final specification.
    Regards,
    Luis Longeri

    It would be very powerfull to be able to use the
    following coding:
    public abstract enum MyBaseFrameworkEnum {
         public String localizedName() {
              //..... coding centralized
         public String propertyKey() {
              //..... coding centralized
    public enum FooEnum extends MyBaseFrameworkEnum {
         FOO_A, FOO_B;
    }Luis, I like your idea but don't really like the idea of an abstract enum. I think this would be better
    public class MyBaseFrameworkEnum extends Enum {
         public String localizedName() {
              //..... coding centralized
         public String propertyKey() {
              //..... coding centralized
    public enum FooEnum extends MyBaseFrameworkEnum {
         FOO_A, FOO_B;
    }However, this always opens up the risk of you breaking the enum specific stuff, so all the vulnerable Enum methods would need to be declared "final".
    Because you are unlikely to see this in the language any time soon (if at all), you can always centralise your code in some static methods that take the enum as an argument
    public class MyBaseFrameworkEnumTools {
         public String localizedName(Enum e) {
              //..... coding centralized
         public String propertyKey(Enum e) {
              //..... coding centralized

  • Are the JSRs working for the 'public'?

    Part of the JCP/JSR review process is a 'public' draft, where anyone can comment on it. Comments on this are then supposed to lead to possible changes in the reference implementation followed up by a final draft and a final acceptance.
    1.5 (tiger) is supposed to be released this summer. And JSR 201 which includes autoboxing and a lot of other stuff ( http://jcp.org/en/jsr/detail?id=201 ) is in that. There is a beta (or alpha) program right now for 1.5. Yet 201 is not in the review stage yet. That isn't too unexpected given that they have to work the kinks out. I suspect it just isn't done yet.
    However, it does make me wonder what point the 'public review' serves. I doubt that by the time it is released that any comment, other than perhaps documentation changes, will be incorporated. It simply will be too late.
    I have reason to believe that at least one other JSR will end up being handled in the same way.
    Does anyone else have reason to believe that comments received during a public review of any JSR in 1.5 would result in either a major or even minor change?

    To be honest, I am not sure. I considered joining the
    JAI experts group (A long while back). It did not
    appear to be free. At the very least it requires you
    have funding available to attend meetings and work on
    the proposals (which tends to limit contributors to
    those working for supportive companies). That may
    have just been JAI though.In the past it cost - I looked into joining as well.
    What I looked at a couple of days ago says there is no cost to join.
    I don't know if they have on-site meetings. I figured most of it was electronic.
    >
    JSR's are evaluated by SUN as to whether they will
    provide market share/utility/cost/detrement/whatever
    for SUN. If
    it does not satisfy thier criteria it does not happen.
    (Many JSR's are additional/optional packages so they
    don't
    generally have these problems). Represenatives and
    proposals from larger companies (who
    are heavily invested in java) do tend to get more
    attention (which is not surprising) especially when it
    comes
    to changes to critical parts of java.
    Interesting point.
    The JSR process does not include that (or at least it specifically seems to not be that way) but that doesn't mean that Sun has to implement any JSR. However, as far as I know they have implemented everyone that impacted the JVM/API directly.
    >
    All in all I've found that if you have a good point
    then it will be considered. However, it is often the
    case
    that it is a good point which has already been made.
    I don't know why 1.5 additions have not been opened
    for public comment. (Are you sure they haven't
    already?)
    I am sure that the one I listed has not.

  • Error on requestdispactcher include() creating JSR-168 portlet

    All,
    I'm facing this suddenly problem on the Oracle Portal 10.1.4
    When I call
    getPortletContext()
    .getRequestDispatcher(page)
    .include(request,response);
    Just get the error that is described by the stacktrace attached
    any ideas ?
    javax.portlet.PortletException
    at oracle.webdb.wsrp.server.RequestDispatcherImpl.include(Unknown Source)
    at com.eds.portal.crud.CRUDPortlet.doView(CRUDPortlet.java:238)
    at com.eds.portal.crud.CRUDPortlet.doDispatch(CRUDPortlet.java:279)
    at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
    at oracle.webdb.wsrp.server.Server.getMarkup(Unknown Source)
    at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.invoke_getMarkup(WSRP_v1_Markup_PortType_Tie.java:224)
    at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.processingHook(WSRP_v1_Markup_PortType_Tie.java:499)
    at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:230)
    at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:153)
    at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: javax.servlet.ServletException: 5
    at com.evermind.server.http.EvermindPageContext.handlePageThrowable(EvermindPageContext.java:595)
    at com.evermind.server.http.EvermindPageContext.handlePageException(EvermindPageContext.java:537)
    at crud.html._create._jspService(_create.java:116)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:569)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:305)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
    at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121)
    ... 21 more
    Nested Exception is javax.servlet.ServletException: 5
    at com.evermind.server.http.EvermindPageContext.handlePageThrowable(EvermindPageContext.java:595)
    at com.evermind.server.http.EvermindPageContext.handlePageException(EvermindPageContext.java:537)
    at crud.html._create._jspService(_create.java:116)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:569)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:305)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
    at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121)
    at oracle.webdb.wsrp.server.RequestDispatcherImpl.include(Unknown Source)
    at com.eds.portal.crud.CRUDPortlet.doView(CRUDPortlet.java:238)
    at com.eds.portal.crud.CRUDPortlet.doDispatch(CRUDPortlet.java:279)
    at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
    at oracle.webdb.wsrp.server.Server.getMarkup(Unknown Source)
    at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.invoke_getMarkup(WSRP_v1_Markup_PortType_Tie.java:224)
    at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.processingHook(WSRP_v1_Markup_PortType_Tie.java:499)
    at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:230)
    at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:153)
    at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    portlet code
    package com.eds.portal.crud;
    import com.eds.portal.crud.resource.CRUDPortletBundle;
    import com.eds.portal.persist.Persistent;
    import com.eds.portal.persist.PersistentDAO;
    import com.eds.portal.portlet.PortletBase;
    import com.eds.portal.ui.html.SimpleCRUD;
    import com.eds.portal.util.Log;
    import com.eds.portal.util.StringUtil;
    import java.io.IOException;
    import java.util.StringTokenizer;
    import javax.portlet.*;
    * Represents the portlet to the basic CRUD user interface
    public class CRUDPortlet extends PortletBase
    public static final String CRUD_ACTION = "crud_action";
    public static final String CRUDINTERFACE_KEY = "crudInterface";
    public static final String CRUD_STATE = CRUDPortlet.class.getName() + ":bean";
    public static final String CRUD_CLASS = CRUDPortlet.class.getName() + ":class";
    public static final String CRUD_LABELS = CRUDPortlet.class.getName() + ":labels";
    public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException
    PortletPreferences prefs = request.getPreferences();
    // Determine which action.
    String okAction = request.getParameter(OK_ACTION);
    String applyAction = request.getParameter(APPLY_ACTION);
    String createAction = request.getParameter(SimpleCRUD.CREATE_ACTION);
    String updateAction = request.getParameter(SimpleCRUD.UPDATE_ACTION);
    String deleteAction = request.getParameter(SimpleCRUD.DELETE_ACTION);
    if( request.getPortletMode().equals(PortletMode.EDIT)
    || request.getPortletMode().equals(EDIT_DEFAULTS) ){
    if (okAction != null || applyAction != null)
    // Save the preferences.
    String className = request.getParameter(CRUD_CLASS);
    String labels = request.getParameter(CRUD_LABELS);
    prefs.setValue(CRUD_CLASS, className);
    prefs.setValue(CRUD_LABELS, labels);
    prefs.store();
    // If OK was pressed, redirect back to the view mode.
    if (okAction != null)
    response.setPortletMode(PortletMode.VIEW);
    response.setWindowState(WindowState.NORMAL);
    String className = prefs.getValue( CRUD_CLASS, "");
    String[] labels = StringUtil.string2Array(prefs.getValue( CRUD_LABELS, ""));
    Log.debug("className/labels = " + className +"/"+ labels.toString() );
    // only if the base class is defined
    if(className.length() > 0 ){
    response.setRenderParameter(CRUD_CLASS, className);
    response.setRenderParameter(CRUD_LABELS, labels);
    if (createAction != null) {
    Log.debug("create action ");
    if (okAction != null){
    Log.debug("OK create action ");
    // save the data
    try
    Persistent o = Persistent.getInstance(className,request.getParameterMap());
    PersistentDAO.save(o);
    response.setRenderParameter(MSG_ACTION, "Created with success.");
    catch (Exception e)
    // set the parameters back to the render in case of error
    setRenderParameters( response, request.getParameterMap() );
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    response.setRenderParameter(CRUD_ACTION, createAction);
    else {
    // show the user interface, by setting the parameter to the render
    try
    Persistent o = Persistent.getInstance(className);
    response.setProperty(CRUD_STATE, o.getState());
    catch (Exception e)
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    Log.debug("set create action ");
    response.setRenderParameter(CRUD_ACTION, createAction);
    } // createAction
    if (updateAction != null) {
    if (okAction != null){
    // save the data
    try
    Persistent o = Persistent.getInstance(className,request.getParameterMap());
    PersistentDAO.save(o);
    response.setRenderParameter(MSG_ACTION, "Updated with success.");
    catch (Exception e)
    // set the parameters back to the render in case of error
    setRenderParameters( response, request.getParameterMap() );
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    response.setRenderParameter(CRUD_ACTION, updateAction);
    else {
    // show the user interface, by setting the parameter to the render
    try
    String id = request.getParameter("id");
    Log.debug("update id = " + id );
    Persistent o = PersistentDAO.get(id);
    if( o != null )
    Log.debug("object to update toString() = " + o );
    Log.debug("object to update state = " + o.getState() );
    response.setRenderParameter(CRUD_STATE, o.getState());
    else
    Log.log("ERROR loading object to update, with id = " + id );
    response.setRenderParameter(ERROR_ACTION, "Error loading object to update");
    response.setRenderParameter(CRUD_ACTION, "" );
    catch (Exception e)
    Log.log(e,"ERROR showing update interface");
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    response.setRenderParameter(CRUD_ACTION, updateAction);
    } // updateAction
    if (deleteAction != null) {
    if (okAction != null){
    // save the data
    try
    Persistent o = Persistent.getInstance(className,request.getParameterMap());
    PersistentDAO.delete(o.getId());
    response.setRenderParameter(MSG_ACTION, "Deleted with success.");
    catch (Exception e)
    Log.log(e,"ERROR executing the delete operation");
    // set the parameters back to the render in case of error
    setRenderParameters( response, request.getParameterMap() );
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    response.setRenderParameter(CRUD_ACTION, deleteAction);
    else {
    // show the user interface, by setting the parameter to the render
    try
    String id = request.getParameter("id");
    Log.debug("delete id = " + id );
    Persistent o = PersistentDAO.get(id);
    if( o != null )
    Log.debug("object to delete toString() = " + o );
    Log.debug("object to delete state = " + o.getState() );
    response.setRenderParameter(CRUD_STATE, o.getState());
    else
    Log.log("ERROR loading object to delete, with id = " + id );
    response.setRenderParameter(ERROR_ACTION, "Error loading object to to delete");
    response.setRenderParameter(CRUD_ACTION, "" );
    catch (Exception e)
    Log.log(e,"ERROR showing delete interface");
    response.setRenderParameter(ERROR_ACTION, e.getMessage());
    response.setRenderParameter(CRUD_ACTION, deleteAction);
    } // deleteAction
    public void doEdit(RenderRequest request, RenderResponse response )
    throws PortletException, IOException{
    Log.debug("doEdit() ");
    getPortletContext()
    .getRequestDispatcher("/crud/html/edit_defaults.jsp")
    .include(request,response);
    public void doView(RenderRequest request, RenderResponse response )
    throws PortletException, IOException{
    String page = "/crud/html/read.jsp";
    String crudAction = request.getParameter(CRUD_ACTION);
    Log.debug("doView() crudAction = " + crudAction );
    if( crudAction != null ){
    if(crudAction.equals(SimpleCRUD.getCreateButtonLabel()))
    page = "/crud/html/create.jsp";
    if(crudAction.equals(SimpleCRUD.getUpdateButtonLabel()))
    page = "/crud/html/update.jsp";
    if(crudAction.equals(SimpleCRUD.getDeleteButtonLabel()))
    page = "/crud/html/delete.jsp";
    try {
    getPortletContext()
    .getRequestDispatcher(page)
    .include(request,response);
    catch (PortletException e) {
    Log.error(e,"Error (PortletException) including in doView(), page = "
    + page + " msg = " + e.getMessage() );
    throw e;
    catch (IOException e) {
    Log.error(e,"Error (IOException) including in doView(), page = "
    + page );
    throw e;
    catch (Throwable e) {
    Log.error(e,"Error (Throwable) including in doView(), page = "
    + page );
    protected void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException
    // Do nothing if window state is minimized.
    WindowState state = request.getWindowState();
    if (state.equals(WindowState.MINIMIZED)) {
    super.doDispatch(request, response);
    return;
    // Get the content type for the response.
    String contentType = request.getResponseContentType();
    response.setContentType(contentType);
    // Get the requested portlet mode.
    PortletMode mode = request.getPortletMode();
    Log.debug("doDispatch - portlet mode = " + mode.toString());
    // Dispatch based on content type and portlet mode.
    if (contentType.equals("text/html")) {
    if (mode.equals(PortletMode.VIEW)) {
    doView(request, response);
    } else {
    if (mode.equals(PortletMode.EDIT)
    || mode.equals(EDIT_DEFAULTS)) {
    doEdit(request, response);
    } else {
    super.doDispatch(request, response);
    } // view
    } else {
    super.doDispatch(request, response);
    } // text/html
    }

    It was happening an error inside the JSP file, I got it using one try / catch( Throwable ) ...

Maybe you are looking for

  • Regarding Distribution Monitor for export/import

    Hi, We are planning to migrate the 1.2TB of database from Oracle 10.2g to MaxDB7.7 . We are currently testing the database migration on test system for 1.2TB of data. First we tried with just simple export/import i.e. without distribution monitor we

  • GPU Acceleration In Premiere Pro CC

    Do you have it when exporting via Adobe Media Encoder? I don't seem to.  I ran some tests several weeks back which clearly showed that GPU acceleration was not working when exporting through AME, but worked fine when doing a direct Export.  I ran the

  • Open a parameter report by clicked event

    Hi friends I created a parameter report in oracle portal 10g. Do we have some way to pass a parameter and open this report in code ? or by clicked event? It seems that we have not ability to use a link to do by a clicked event in oracle portal applic

  • HP Pavillion DV6 FN Key

    Hey,   I currently have a DV6 Pavillion Laptop (may not survive much longer!)  I have googled to high ends to solve my problem, but I have found nothing. The problem is something will trigger the FN key randomly and I won't know about this until I pr

  • IMovie when I split the clip it turns gray does anyone know why?

    I split one of my clips and when i dragged it out it turned gray....does anyone know why?