Warning with Generics & Aspects

Hi,
I�m upgrading an application to use Java 5 generics and I have a warning which I cannot get ride of. My code uses some aspects to monitor some method calls and when I implement generics on the methods return type, I get the following warning from my IDE
unchecked conversion when advice applied at shadow method-execution(java.util.List com.sample.business.impl.AccountServiceImpl.getAccounts(java.lang.String)), expected java.util.List<com.sample.domain.Account> but advice uses java.util.List [Xlint:uncheckedAdviceConversion]     The method declaration is as follows
public List<Account> getAccounts(String id) throws CustomExceptionand the around advice on the aspect is as follows without the padding
List<Account> accounts = proceed();Any idea how I can remove the warning?
Thanks

What is advice and how is it declared?
Means: seems like advice is used in a raw fashion.

Similar Messages

  • I'm getting a compiler warning with generics in J2SDK1.5.0

    javac -source 1.5 -target 1.5 -Xlint:unchecked Test.java
    Test.java:72: warning: unchecked cast to type TYPE mValues = (TYPE[])new Object[aInitialSize];
    My code is below, and ideas why this warning appears, is it a bug in my code or is the compiler faulty?
    (crosspost warning, I posted the same question on www.javalobby.org, no need for flaming...)
    static class Array
         private TYPE [] mValues;
         public Array(int aInitialSize)
              mValues = (TYPE[])new Object[aInitialSize];
         public void set(int aIndex, TYPE aValue)
              mValues[aIndex] = aValue;
         public TYPE get(int aIndex)
              return mValues[aIndex];
    Sincerely,
    Patrik Olsson

    I asked Sun about this and they replayed:
    No, because it is not typesafe. Consider the code
    class A<T> {
    T[] f() { return (T[])new Object[10]; }
    This will cause a class cast exception in its caller, even if the caller has no
    cast:
    A<Integer> ai = new A<Integer>();
    Integer[] a = ai.f(); // BOOM!
    Don't use arrays. Use collections.

  • Concurrent report ending in warning with status 127 (post upgrade to R12.1.

    Hi,
    We ran a concurrent report with Print options set for a custom report.
    The report is ending in warning with the below error:
    ------------- 1) PRINT   -------------
    Printing output file.
    Request ID : 356879180      
    Number of copies : 1      
    Printer : ABSC_5WCC_HP9
    /bin/sh: jforasnd: not found.
    APP-FND-00500: AFPPRN received a return code of failure from routine FDUPRN. Program exited with status 127
    Cause: AFPPRN received a return code of failure from the OSD routine FDUPRN. Program exited with status 127.
    Action: Review your concurrent request log file for more detailed information.
    Please suggest how to overcome this error.
    Regards
    Siva G

    We ran a concurrent report with Print options set for a custom report.What is the type of this report?
    The report is ending in warning with the below error:Can you find any details in the OPP/CM log files?
    /bin/sh: jforasnd: not found.Is jforasnd used in your report? Were you able to compile the report from Reports Builder with no issues?
    APP-FND-00500: AFPPRN received a return code of failure from routine FDUPRN. Program exited with status 127
    Cause: AFPPRN received a return code of failure from the OSD routine FDUPRN. Program exited with status 127.
    Action: Review your concurrent request log file for more detailed information.This is a generic error, so if none of the above helps please enable trace/debug, submit the request again and post the contents of the log file here.
    Thanks,
    Hussein

  • Program with generics compiles without -source 1.5 but doesn't run.

    This could probably be considered a bug in J2SE1.5 beta 1.
    A program with generics that is compiled with JDK 1.5 beta1 without the "-source 1.5" option behaves oddly: it compiles but sometimes fails to execute. It shouldn't behave like that. It should fail in the compilation, with a complaint about using the wrong version of the language.
    This odd behaviour doesn't always occur! In the small program below, I get that behaviour when using the EnumSet.range method.
    If I only use the basic EnumSet, it does executes.
    -- Lars
    import java.util.EnumSet;
    import java.util.*;
    public class Example {
         public enum Season { WINTER, SPRING, SUMMER, FALL }
         public static EnumSet<Season> warmSeason = EnumSet.range(Season.SPRING, Season.FALL);
         public static void main(String[] args) {
              System.out.println("Season: ");     
              for (Season s : Season.values()) {
              System.out.println(s);
              System.out.println("Cold Season: ");     
              for (Season s : warmSeason) {
              System.out.println(s);

    Example.java:6: warning: as of release 1.5, 'enum' is a keyword, and may not be used as an identifier
        public enum Season { WINTER, SPRING, SUMMER, FALL }
               ^
    Example.java:6: ';' expected
        public enum Season { WINTER, SPRING, SUMMER, FALL }
                           ^
    Example.java:12: ';' expected
            for (Season s : Season.values()) {
                          ^
    Example.java:17: illegal start of expression
            for (Season s : warmSeason) {
            ^
    Example.java:20: ';' expected
        ^
    4 errors
    1 warning

  • Factory Patterns with Generics

    I am trying to combine the good old factory pattern with generics and could use some advice.
    I have the following
    //Base class from which all my things extend
    public abstract class Thing {
    //one kind of thing
    public class ThingOne extends Thing {
    //another kind of thing
    public class ThingTwo extends Thing {
    //interface for my factory
    public interface ThingFactory<T> {
    public T create(long id);
    //a factory for thingones
    public class ThingOneFactory<T> implements ThingFactory<T> {
    public T create(long id) {
    return (T) new ThingOne();
    public class TestClass{
    public <T extends Thing> T getThing(ThingFactory<T> tf){
    //do a bunch of generic stuff to figure out id to call create
    ThingFactory<T> instance = tf;
    return (T) instance.create(Long id);
    }My calling code would know what kind of thing it needs but necessarily the things id. Which can be computed in a generic way.
    TestClass gt = new TestClass();
    gt.getThing(new ThingOneFactory<ThingOne>());This all seems to work properly but I am getting "Type safety: Unchecked cast from ThingOne to T" in my ThingOneFactory
    My T's will always extend Thing, what am I missing? Is there a better way to do this?
    Edited by: nedry on Dec 29, 2009 5:39 PM

    I thought of that after I posted. But that just moves my unsafe cast warning into TestClass.Why?
    return (T) instance.create(Long id);That can't have ever compiled. What is the exact code? And why did you have to cast (what was the warning/error)?

  • Need help with generics

    I have written a java program using jdk1.5. After completing my program I noticed that the compiler was outputting a warning. It tells me that there were a few unsafe operations in my code. Anyway I found out that my code needed to include generics. I was able to figure out how too include some of the generics. I am having trouble with the following:
    [javac] /home/paul/Documents/java/PersonalInfo/src/personalInfo/logic/DB.java:105: warning: [unchecked] unchecked conversion
    [javac] found : personalInfo.logic.FNComparator
    [javac] required: java.util.Comparator<? super java.lang.Object>
    [javac] Arrays.sort(sort, fn);
    [javac] ^
    [javac] /home/paul/Documents/java/PersonalInfo/src/personalInfo/logic/DB.java:105: warning: [unchecked] unchecked method invocation: <T>sort(T[],java.util.Comparator<? super T>) in java.util.Arrays is applied to (java.lang.Object[],personalInfo.logic.FNComparator)
    [javac] Arrays.sort(sort, fn);
    [javac] ^
    [javac] /home/paul/Documents/java/PersonalInfo/src/personalInfo/logic/DB.java:109: warning: [unchecked] unchecked conversion
    [javac] found : personalInfo.logic.LNComparator
    [javac] required: java.util.Comparator<? super java.lang.Object>
    [javac] Arrays.sort(sort, ln);
    [javac] ^
    [javac] /home/paul/Documents/java/PersonalInfo/src/personalInfo/logic/DB.java:109: warning: [unchecked] unchecked method invocation: <T>sort(T[],java.util.Comparator<? super T>) in java.util.Arrays is applied to (java.lang.Object[],personalInfo.logic.LNComparator)
    [javac] Arrays.sort(sort, ln);
    [javac] ^
    The FN/LNComparator class implements the java.util.Comparator class. I have looked at the generics tutorial on the java.sun.com website. I can't figure out what I replace the <T> with to make the code compile and the warning to go away. I have tried <Comparator> but that just gives me an error that says FNComparator does not take any parameters.
    If anyone knows how to fix these warnings let me know
    -Hockeyfan

    I know how to fix it.
    Step 1. Stop writing subject-lines like "Need help with generics". Everyone who starts a topic needs help, that's why people post here!
    Step 2. Don't just post the error message, post the relevant code. In [code ][code ] tags of course.
    Step 3. Stop watching hockey, it'll stunt your growth
    Step 4. Have the FN/LNComparator implement, not the raw Comparator, but Comparator<Object>

  • Compare to 1 Uncheked warning - Needs generics

    I get an "unchecked" warning when compiling (for failing to use generics...). Please help me with this (optimally by revising my code to be generics compliant)! Not that I am quite unfamiliar with generics, and hence could not revise this myself, a brief explanation of your revisions would also be nice.
    public static void sort(Comparable[] array) { //suppress warning for failing to use generics
        Comparable smallest = array[0]; //stores the smallest object
        int smallestLocation = 0; //stores the index of the smallest object
        for (int front = 0; front < array.length-1;front++) {
          smallest = array[front]; //reset variables
          smallestLocation = front;
          for (int i = front;i < array.length;i++) {
            if (smallest.compareTo(array) > 0) { //this if statement sets the smallest location based on comparing every element in the array *error occurs here*
    smallest = array[i];
    smallestLocation = i;
    swap(front,smallestLocation,array); //puts the smallest element at the front of the array
    }Thanks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    MakingGUIs wrote:
    I have read those! You must have tired out near the end, then. The relevant section (I think) is here:
    [http://java.sun.com/docs/books/tutorial/extra/generics/fineprint.html|http://java.sun.com/docs/books/tutorial/extra/generics/fineprint.html]
    which is near the end of the second tutorial you say you read. (The section headed "Arrays"...) However, frankly, I would modify the method to look like this:
    public static void sort(Object[] array) {
      Arrays.sort(array);
    }

  • XML Publisher report ends in Warning with java.lang.OutOfMemoryError

    Hi,
    We are modifying the standard report Account Analysis Report (in Subledger Accounting) to create a custom report.
    When run wide open, it is ending in Warning with the error java.lang.OutOfMemoryError in OPP Log.
    We are on EBS 12.1.3. DB 11.2.0.3 and XML Publisher 5.6.3
    We have set the below parameters in the data definition:
    Use XML Publishers XSLT processor: True
    Enable Scalable feature of XSLT processor: True
    Enable XSLT Runtime optimization: True
    Also we have added these to the Data template:
      <property name="db_fetch_size" value="20" />
      <property name="scalable_mode" value="on" />
    On the concurrent program, we have this option set:
    -ms1024m -mx2048m
    Still, the program is ending in Warning and not producing output. Any pointers here?
    We can also see that the Temporary Directory is not able to be set on the data definition. Why is this?
    After setting the Temporary Directory from Administration page, we were able to set the temporary directory for this data definition, but that did not solve the iseue.

    Glad you have sorted this - note that the fnd_concurrent_requests table has the fields pp_Start_date and pp_end_date which will show how long post processing is taking.
    Good to a good idea to monitor this in relation to the setting you have made in the profile option Concurrent:OPP Timeout profile option though 3 hours should cover most things!!!!

  • Report ending in warning with status 127 error

    Hi,
    We ran a concurrent report with Print options set for a custom report.
    The report is ending in warning with the below error:
    ------------- 1) PRINT   -------------
    Printing output file.
    Request ID : 356879180      
    Number of copies : 1      
    Printer : ABSC_5WCC_HP9
    /bin/sh: jforasnd: not found.
    APP-FND-00500: AFPPRN received a return code of failure from routine FDUPRN. Program exited with status 127
    Cause: AFPPRN received a return code of failure from the OSD routine FDUPRN. Program exited with status 127.
    Action: Review your concurrent request log file for more detailed information.
    Please suggest how to overcome this error.
    Regards
    Siva G

    Please see your other thread -- Re: Concurrent report ending in warning with status 127 (post upgrade to R12.1.

  • Error in Extraction with Generic Datasource via Function Module

    Dear Gurus,
    Iam working for BI-HR module.We are extracting data with generic data source via function module. The client some more extra fields in already existing DS. So we made a copy of that Function module and tried to create new generic DS, we got error while extraction like "Error occured during the extraction process". Can you please help in resolving this issue, your valuable suggestion would be highly appreciated.
    Thanks and regards
    Arun S

    Hi,
    Which structure are you using??
    Are you using the same old structure for this function module as well.
    Have you enhanced the structure with new required fields.
    New extrac fields needs to be added to existing structure if you are using the same or create a new one and make sure that you have all the fields in the structure which you are going to use in the data source.
    You need to take care for the append as well and the issue could be in the code as well.
    Make sure you have written the proper code and just for the new fields done an append
    Thanks
    Ajeet

  • How to capture frames in Premier Pro to edit in Photoshop with correct aspect ratio.

    I am using Premier Pro and Photoshop CS5 in Creative Studio CS5.  I have read and understand several help articles on square and rectangular pixels used for various video aspect ratios.  I am using the camera button on the bottom right of the Program monitor to captue a frame and save as a jpg file.  When I open the jpg file in Photoshop to edit for a DVD disc cover using the Elliptical Marquee Tool with a fixed ratio of 1 to 1, the result is not the circular image I need but wider.  This must be an aspect ratio conversion that I am missing.  I have seen conversions that correct this by lengthening the height but the image is also lengthened and thus results in a distiortion.
    How do I correctly deal with this aspect ration conversion between Premier Pro and Photoshop without distortion?

    This is most likely a PAR (Pixel Aspect Ratio) issue. With SD (Standard Definition) Video, you can have Standard 4:3 w/ PAR = 0.9, Widescreen 16:9 w/ PAR = 1.2, or a non-standard 4:3 w/ PAR = 1.0 (rounded PAR's for NTSC).
    In Ps, you have the ability to adjust the PAR, under the Image menu from the Toolbar. For use on a DVD, you would choose a PAR of 0.9 if you have Standard 4:3, or 1.2 for Widescreen 16:9.
    With the PAR adjustment, to match your Video footage, you should then be able to get what you want, without the distortion. Also, note that one can change how the PAR displays in Ps. By default, it will be Square Pixels, or PAR = 1.0, and you should get an info message that the display is not showing the exact PAR. This can also be changed in Ps.
    For more discussion on PAR, see this article: http://forums.adobe.com/message/3456609#3456609
    Good luck,
    Hunt

  • Import from database an internal table with generic Type : Web Dynpro ABAP

    Hi everyone,
    i have a requirement in which i'm asked to transfer data flow between two frameworks, from WD Component to another. The problem is that i have to transfer internal tables with generic types. i used the import/ export from database approache but in that way i get an error message saying "Object references and data references not yet supported".
    Here is my code to extract a generic internal table from memory.
        DATA l_table_f4 TYPE TABLE OF REF TO data.
      FIELD-SYMBOLS: <l_table_f4> TYPE STANDARD TABLE.
      DATA lo_componentcontroller TYPE REF TO ig_componentcontroller .
      DATA: ls_indx TYPE indx.
      lo_componentcontroller =   wd_this->get_componentcontroller_ctr( ).
      lo_componentcontroller->fire_vh_search_action_evt( ).
      ASSIGN l_table_f4 TO <l_table_f4>.
    *-- Import table for Help F4
      IMPORT l_table_f4 TO <l_table_f4> FROM DATABASE indx(v1) TO ls_indx ID 'table_help_f4_ID'.
    The error message is desplayed when last instruction is executed " IMPORT l_table_f4...".
    I saw another post facing the same problem but never solved "Generic Type for import Database".
    Please can anyone help ?
    Thanks & Kind regards.

    hi KIan,
    go:
    general type
    TYPE : BEGIN OF ty_itab,
               field1 TYPE ztab-field1,
               field2 TYPE ztab-field2,
    *your own fields here:
               field TYPE i,
               field(30) TYPE c,
               END OF ty_itab.
    work area
    DATA : gw_itab TYPE ty_itab.
    internal table
    DATA : gt_itab TYPE TABLE OF ty_itab.
    hope this helps
    ec

  • Error 500 with generic Apache

    Hi,
    I am trying to user Apex Listener 1.0.2 on OC4J fronted with generic Apache 2.0. I configured mod_oc4j and the combination seems to work.
    When i ran apex/listenerConfigure the configuration page shows up. But when I try to Apply changes I constantly get
    500 Internal Server Error
    Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    Any idea what would be the cause?
    Janis

    Thank you for the answer. This is the log. I hope it helps
    10/10/27 12:39:04.951 apex: 10.1.3.5.0 Started
    10/10/27 12:56:51.975 apex: Servlet error
    java.lang.NoSuchMethodError: java.lang.String.getBytes(Ljava/nio/charset/Charset;)[B
         at oracle.dbtools.apex.utilities.Text.getBytes(Text.java:31)
         at oracle.dbtools.apex.ModApex.notifyNotConfigured(ModApex.java:257)
         at oracle.dbtools.apex.ModApex.doConfig(ModApex.java:98)
         at oracle.dbtools.apex.ModApex.doGet(ModApex.java:92)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    10/10/27 12:59:11.662 apex: Servlet error
    java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z
         at oracle.dbtools.apex.admin.AdminManager.validConnection(AdminManager.java:337)
         at oracle.dbtools.apex.admin.AdminManager.validateInfo(AdminManager.java:168)
         at oracle.dbtools.apex.admin.AdminManager.processAdministration(AdminManager.java:81)
         at oracle.dbtools.apex.admin.Admin.doPost(Admin.java:87)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)

  • Converting enumerations to lists with generics

    hello...
    i want to list off system properties and sort them.
    how can you convert enumerations to lists with generics?
    i tried the following in eclipse, but it fails...
         Properties properties = System.getProperties( ) ;
         Enumeration<?> enumeration = properties.propertyNames( ) ;
         ArrayList<String> arrayListEnum = Collections.list( enumeration ) ;
         Collections.sort( arrayListEnum ) ;

    Because the type parameter of Enumeration (<?>) is not compatible with the type parameter of ArrayList (<String>).
    You'll have to do some manual casting yourself.
    Unfortunately, there's nothing to guarantee that system property keys or values are strings (hence why Enumeration<?> and no Enumeration<String>) so you'll need to cope if you find one that isn't.

  • Does LR handle a dual monitor setup with different aspect ratios (16:9 and 16:10)?

    Does LR 5 handle a dual monitor setup with different aspect ratios (16:9 and 16:10)?
    I'm planing to buy a 27" 16:9 monitor and use it as primary together with a 22" 16:10. Does any have any idea?
    Thanks

    Moreover, the two monitors can have completely different characteristics.  As always, you really need to calibrate/profile any monitor (with a hardware tool - Spyder, Colormunki etc).  That's no more important with two monitors, but you see for sure if you don't, as two dissimilar monitors will then probably look different. 

Maybe you are looking for