Keeps finding a "Object" not the real type.. I am really lost.. :D

The calls to other objects work fine, I have testing all of them.. but! when I compile I get a error about finding a "object" type and not a String type at
for(String blackStone : blackUnits.keySet())
               if( getSetLib(blackStone) == 0 ) { removeSet.add(blackStone); }
         }   this is the whole class
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
public class Stat
    private Token[][] board;
    private int bSize;
    private HashMap<String, HashSet> unitsWhite;
    private HashMap<String, HashSet> unitsBlack;
    double last;
    public Stat(Token[][] goBoard, int size)
        board = goBoard;
        bSize = size;
        unitsWhite = new HashMap< String , HashSet>();
        unitsBlack = new HashMap< String , HashSet>();
        last = bSize -1;
     * Delimiter is /
    public HashSet getLib(int x , int y)
        HashSet liberties = new HashSet<String>();
        //error catch
        if(board[x][y] == null){return liberties;}
        int tempX = x;
        int tempY = y;
        //error catch for out of rage if size ect..
        for(int i = 0 , liby = y ,libx = x ; i <= 3; i++)
            if(i == 0){libx = -1; liby = 0;}
            if(i == 1){libx = 0; liby = -1;}
            if(i == 2){libx = 1; liby = 0;}
            if(i == 3){libx = 0; liby = 1;}
            tempX = x+libx;
            tempY = y+liby;
            if(tempX >= 0 || tempY >= 0)
                if( tempX <= last || tempY <= last )   
                     if( (tempX < 0 || tempY < 0) || ( tempX >= last || tempY >= last ) )
                       tempX = 0;
                       tempY = 0;
                     else
                        if( board[tempX][tempY] == null) { liberties.add(tempX+"/"+tempY); }
        return liberties;  
    public void getTer()
    public void checkForCaptured()
        Token black = null;
        Token white = null;
        HashMap blackUnits;
        HashMap whiteUnits; 
        HashSet removeSet ;
        removeSet = new HashSet<String>();
        //look for a Token on the board and if you find one look for any dead  Tokens
        //looks for a Token
        for(int x=0; x < bSize;x++)
          { for(int y=0 ; y < bSize   ;y++)
           { if(board[x][y] != null)
               if (black == null)if( board[x][y].getColor().equals("black") ) black =  board[y][x];
               if (white == null)if( board[x][y].getColor().equals("white") ) white =  board[y][x];
        System.out.println("this is black tokens color" +black.getColor());
        //looks for a dead unit
        if(black != null)
         { blackUnits = black.getUnits();
           System.out.println("black :" +blackUnits.keySet().size() ) ;
           for(String blackStone : blackUnits.keySet())
               if( getSetLib(blackStone) == 0 ) { removeSet.add(blackStone); }
        if(white != null)
        { whiteUnits = white.getUnits();
            System.out.println(" white: "+whiteUnits.keySet().size() );
          for( String whiteStone : whiteUnits.keySet() )
           { if( getSetLib(whiteStone) == 0 ) { removeSet.add(whiteStone); } }
        board.removeUnitsSet(removeSet);    
     public int getSetLib(HashSet Units)
         return 0;
}someone point me in the correct direction PLZ! I don't mind RTFM if you give me a FM and page/line to look at.
THANKS!
Message was edited by:
monji112000

The compiler doesn't know that you're only putting Strings in as keys. HashMap takes references to Object as keys and hence returns references to Object in keySet(). Note, however, that the object itself is still what you put in there. But the compiler only has the declared return type of the method to look at.
// pre 1.5
for (Iterator iter = set.iterator(); iter.hasNext();) {
    String key = (String)iter.next(); // cast Object to String. Only works if you actually put a String in
    // do stuff with key
// 1.5, if you don't use generics
for (Object obj : set) {
    String key = (String)obj;
    // do stuff with key
// 1.5, with generics
Set<String> set = ...;
for (String key : set) {
    // do stuff with key
}Since you have a Map, you'll have Map<String, SomeValueType>.
http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf

Similar Messages

  • EEWB :  how to determine the business object and the extension type ?

    Hi,
    I ask myself how to determine the business object and the extension type to use to add new fields in a new tab of a specific transaction ? what means each business object, does that correspond to a specific transaction ?
    I need to add a new tab in the ‘BaMI’ business activity in transaction CRMD_ORDER just after the tab 'Actions' at header level.
    Could you help me please to determine which business object and extension type I have to select during creation of the project and which business object category I have to select during creation of the extension (wizard) ?
    Thanks for your help,
    Marie

    Marie,
    In order to determine what type of transaction you are extending, you will need to look at the customizing for the transaction.
    In the IMG:
    Goto:
    Customer Relationship Management->Transactions->Basic Settings->Define Transaction Types.
    You will then choose the transaction defined that you want to extend.  If you display the details of the transaction you will find an attribute called:
    "Leading Transaction Category".  This tells you the general context in which the transaction is used.  The other item to view is the assignment of business transaction categories found in the maintenance screen.
    This information general corresponds to one of the options that the EEWB will give you on the transaction type.
    As far as extensions go, my recommendation is the following:
    - Use CUSTOMER_H Customer Header Extensions for any new fields at the header level.
    - Use CUSTOMER_I Customer Item Extensions for any new fields at the item level.
    Unless you have a specific requirement to extend a segment of the transaction, I recommend placing all new fields in these segments.  The CUSTOMER_H & CUSTOMER_I segments are considered "standard" segments, that are already built into all the necessary API structures. 
    Let me know if you have any further questions.
    Good luck,
    Stephen

  • To get Class object representing the primitive type by a String

    for classes,I can use
    classNameString = "java.lang.String"
    Class c=Class.forName(classNameString);
    to get Class object representing the classNameString.
    but to get Class object representing the primitive type ,I have to use something like :
    Class c=Integer.TYPE;
    is there any way to get Class object representing the primitive type by a String?

    not using Class.forName(). you'll just need to key off the String passed to see whether it names a primitive:class ClassUtilities {
       * Gives the <code>Class</code> corresponding to a named class or primitive.
       * @param  name  FQN of a class, or the name of a primitive type
       * @param  loader  a {@link java.lang.ClassLoader ClassLoader}
       * @return  the <code>Class</code> for the name given.  This method
       * converts primitive type names to their particular <code>Class</code>
       * object.  <code>null</code>, the empty string, <code>"null"</code>, and
       * <code>"void"</code> yield {@link java.lang.Void#TYPE Void.TYPE}.  If any
       * classes require loading because of this operation, the given
       * <code>ClassLoader</code> performs the loading.  Such classes are not
       * initialized, however.
       * @throws  ClassNotFoundException  if the name names an unknown class
       * or primitive
       * @see  java.lang.Class#getName
      static Class classForNameOrPrimitive( String name, ClassLoader loader )
        throws ClassNotFoundException {
        if ( name == null || name.equals( "" ) || name.equals( "null" ) || name.equals( "void" ) ) {
          return Void.TYPE;
        if ( name.equals( "boolean" ) )
          return Boolean.TYPE;
        if ( name.equals( "byte" ) )
          return Byte.TYPE;
        if ( name.equals( "char" ) )
          return Character.TYPE;
        if ( name.equals( "double" ) )
          return Double.TYPE;
        if ( name.equals( "float" ) )
          return Float.TYPE;
        if ( name.equals( "int" ) )
          return Integer.TYPE;
        if ( name.equals( "long" ) )
          return Long.TYPE;
        if ( name.equals( "short" ) )
          return Short.TYPE;
        return Class.forName( name, false, loader );
    }

  • "SOME" devices can resolve the ALIAS (CNAME record) for a device, but not the REAL name (A record) - Why? How do I fix this?

    I'm running the DNS server role on Windows Server 2012 R2 on a physical machine on my home network.
    My AD is configured with a non-registered name - let's say it's "home.acme.ca" and the DNS server is configured to host that zone.  I also configured a 2nd zone in the DNS server called "myinf.acme.ca".  They both run on a physical
    server with an IP of 192.168.1.10
    The DHCP server on my Cable Modem is configured to hand out 192.168.1.10 as the only DNS server to every device on my network.  On my servers (with static IP addresses), 192.168.1.10 is configured as the only DNS server available for them. 
    I took the DNS servers from my Cable Provider and configured a Forwarder on my server to send name resolution requests to them only if my DNS server can not answer the request - basically for any name resolution request that does not end with ".home.acme.ca"
    or ".myinf.acme.ca"
    The "home.acme.ca" zone is populated with 'A' records for all of the physical and virtual servers and PC's on my network.
    The "myfin.acme.ca" zone is populated with 'CNAME' records that point directly to the 'A' record in "home.acme.ca" - for example, I have a serve named s000abc123ww.home.acme.ca with an 'A' record providing an IP address of 192.168.1.20 and
    I created a 'CNAME' (alias) record named 'webserver.myinf.acme.ca' which points to the 'A' record 's000abc123ww.home.acme.ca'
    2 of my 6 machines can resolve the alias but not the real name of the server!
    .10 is the Domain Controller.  All of the other machines (except .98) are members of the home.acme.ca domain.
    I attempted to ping 's000abc123ww.home.acme.ca' AND 'webserver.myinf.acme.ca' on the following 6 computers.  I used the fully qualified name in all cases.
    4 of the below machines are able to resolve BOTH names.  The other 2 can resolve the Alias but not the real name!
    I don't understand how this is possible, but I would like to fix it...!!!  Please help?
    .10 - Server 2012 R2 (Physical) -  Hosts Active Directory and DNS.
    .20 - Server 2012 R2 (Virtual)   -  Runs SQL Server
    .21 - Server 2012 R2 (Virtual)   -  Runs Apache
    .22 - Server 2012 R2 (Virtual)  -   Runs Apache.  This is the device I am trying to ping (s000abc123ww)
    .98 - Windows 7 (Physical)
    .99 - Windows 7  (Virtual)
    .21 (which is configured nearly identically to .20 and .22) can resolve and ping the Alias, but not the real name.
    .98 can also resolve and ping the Alias, but not the real name.
    The rest of the machines can resolve and ping both the alias and the real name.
    All of the Virtual Machines are running under Hyper-V on the .10 physical server.
    All the devices are on the same subnet.
    Thank in advance to anyone who can help me understand and correct this problem!
    Jim

    Hi,
    CNAME resource records are recommended for use in the following scenarios:
    • When a host that is specified in an A resource record in the
    same zone needs to be renamed
    • When a generic name for a well-known server, such as www, must resolve to a group of individual computers (each with individual A resource records) that provide the same
    service, for example, a group of redundant Web servers
    Therefore please try to create your CNNAM record in the same zone and try again.
    The related KB:
    Adding, Changing, and Deleting Resource Records
    http://technet.microsoft.com/en-us/library/cc779020(v=ws.10).aspx
    Hope this helps.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • I am trying to open a .tiff file in photoshop by using bridge and it opens it as a photo in windows. If I go to file open it says could not complete request because it is not the right type of document. It is a file from a lesson folder from school. Can a

    I am trying to open a .tiff file in photoshop by using bridge and it opens it as a photo in windows. If I go to file<open it says could not complete request because it is not the right type of document. It is a file from a lesson folder from school. Can anyone help me?

    Hi,
    The D810 requires Camera Raw 8.6 or later - the latest version that is compatible with Photoshop Elements 12 is Camera Raw 8.5 as far as I can see.
    You need to either buy a new version of Photoshop Elements or use the free Adobe DNG converter.
    DNG  Converter 8.8
    Win – http://www.adobe.com/support/downloads/detail.jsp?ftpID=5888
    Mac – http://www.adobe.com/support/downloads/detail.jsp?ftpID=5887
    Useful Tutorial
    http://www.youtube.com/watch?v=0bqGovpuihw
    Brian

  • Getting message: Cannot complete your request because it's not the right type of document

    I am taking a CS6 Photoshop class, I downloaded the data files from cengagebrain.com, my task in the book is to click File on the Menu bar, then click Open, then navigate to the drive and folder where you store you Data Files.  When I click the corresponding file (PS 1-1.psd), I get the following error message: Cannot complete your request because it's not the right type of document.
    Can anyone help please?

    Good day!
    Cannot complete your request because it's not the right type of document.
    Are you sure the file has the correct suffix?
    It might have been damaged in downloading, unstuffing, copying …, so if you are certain that the site is legit you may want to try re-downloading the file.
    Regards,
    Pfaffenbichler

  • I want to buy iphone4 8GB, but I am afraid that I buy a fake iphone, not the real iphone. So, what can I do if I want to check for sure it is a real iphone from apple?

    I want to buy iphone4 8GB, but I am afraid that I buy a fake iphone, not the real iphone. So, what can I do if I want to check for sure it is a real iphone from apple?

    Buy it from an Apple Retail Store or Apple Online or through an approved Carrier.

  • "The attempt to burn a disc failed. The media is not the right type for..."

    Help!! I am new to macs and have been trying to burn a cd. I have created a playlist with music from my itunes and have clicked burn disk. Every time I do so I get the following message: "The attempt to burn a disk failed. The media is not the right type for the requested operation."
    Can anyone help me as I am lost!?

    Toast is a high end disk burning application
    Do you know how to create a new user account? Or do you have more than one user of your Mac?
    You can delete iTunes from the applications folder and all the iTunes prefs from the preferences folder found at _Macintosh HD/Users/YourUserName/Library/Preferences_ You are looking for three files in that folder
    com.apple.iTunes.eq.plist
    com.apple.iTunes.plist
    com.apple.iTuneshelper.plist
    trash those three files and the iTunes application then empty the trash, restart and empty the trash again if needed. Then download the latest version of iTunes from Apple and install it. Then try a burn.
    The above procedure should NOT delete any songs or playlists you have made.
    You can get iTunes here
    Message was edited by: Damien

  • Finder Folder defaults, not the same defaults when using Office Mac2011

    I might be being a touch simple here - i've got my file formats sorted nicely in Finder (excuse my simple terms here, new to iMac, love it though..) and the default view opens each time without issue.
    What I want now is the same default view when I open, save, save as etc anything out of Office Mac2011. Currently files, documents and folders are all over the shop. I can't find anything obvious like there is in Finder to re-sort the default views etc.
    Anyone help at all...?
    Ta!

    Not possible. The open and save dialog boxes don't reflect what you've set as view options for Finder windows.
    Since you're new to the Macworld, see these and welcome:
    Switching from Windows to Mac OS X,
    Basic Tutorials on using a Mac,
    Mac 101: Mac Essentials,
    Mac OS X keyboard shortcuts,
    Anatomy of a Mac,
    MacTips, and
    Switching to the Mac: The Missing Manual, Snow Leopard Edition.
    Additionally, *Texas Mac Man* recommends:
    Quick Assist,
    Welcome to the Switch To A Mac Guides,
    Take Control E-books, and
    A guide for switching to a Mac.

  • # of objects, not the size of the objects, determine size of a Collection

    There are objects, and references to objects.
    Do, List / Set / Map , etc. just maintain a list of 32-bit addresses for their contained objects? What more does a Collection need, memory-wise, to add an element? The size of the objects in a Collection should not matter?
    listA.add(new Integer(2));  // listA size grows by 32-bits
    listB.add(new GiantSizedClass());  // listB size grows by 32-bitsI started thinking about Collections being able to dynamically grow in runtime. I heard this is complex, but it "looks" like all you do is append a memory address and incriment a counter? This sounds quick, easy, and incorrect. I don't understand. Thanks.

    jverd, ejp: you have always been there with quick responses to help me. ejp, i purchased your book "Fundamental Networking in Java". When I start programming again, your book about RMI is on my list. that said.
    with all sincerity. i belived that serliazing objects in byte[] allows for storing objects in objects, not object references in objects. here is my test code (just cut/paste):
    My idea seems similars to me as cryogenics and so that is the theme of my test code (and it is my favourite movie). note: this code is "proof of concept" and is exetremely hacked together.
    public class Test {
      private static HashMap<String, byte[]> barracks = new HashMap<String, byte[]>();
      public static void main(String[] args) {
        try {  new Test().go();  }   catch(Exception e) {  e.printStackTrace();  }
      public void go() throws Exception {
        Employee empl = new Employee("Dallas", "Captain");
        barracks.put(empl.name, cryogenicallyFreeze(empl));
        empl = new Employee("Kane", "Navigator");
        barracks.put(empl.name, cryogenicallyFreeze(empl));
        empl = new Employee("Ripley", "First Officer");
        barracks.put(empl.name, cryogenicallyFreeze(empl));
        empl = new Employee("Ash", "Science Officer");
        barracks.put(empl.name, cryogenicallyFreeze(empl));
        System.out.println("___log file___");System.out.println(".........");
        int id = (int) (System.currentTimeMillis() % barracks.size());
        System.out.println("[Nostromo]: emergency id #"+id+". Re-animation initiated...");
        switch (id) {
          case 0: empl = (Employee) reanimate("Dallas"); break;
          case 1: empl = (Employee) reanimate("Kane"); break;
          case 2: empl = (Employee) reanimate("Ash"); break;
          case 3: empl = (Employee) reanimate("Ripley");
        System.out.println("[Nostromo]: \"" + empl.name + "\" in command.");
        System.out.println("["+empl.name+"]: Hello. I was an object, not a reference, stored in a collection.");
        System.out.println();
        public static Employee reanimate(String name) throws Exception {
            PipedOutputStream pout = new PipedOutputStream();
            PipedInputStream pin = new PipedInputStream(pout);
            byte[] frozenEmpl = (byte[]) barracks.get(name);
            pout.write(frozenEmpl);
            ObjectInputStream ois = new ObjectInputStream(pin);
            return ((Employee) ois.readObject());
        public static byte[] cryogenicallyFreeze(Employee emp) throws Exception {
            PipedOutputStream pout = new PipedOutputStream();
            PipedInputStream pin = new PipedInputStream(pout);
            ObjectOutputStream oos = new ObjectOutputStream(pout);
            oos.writeObject(emp);
            byte[] frozenEmpl = new byte[pin.available()];
            pin.read(frozenEmpl);
            return frozenEmpl;
          public static class Employee implements Serializable {
            String name; String title;
            Employee(String n, String t) {  name = n; title = t;  }
    }"inside" of each byte[] object is an "Employee" object? I can't see it any other way. But I am not the sharpest pencil in the drawer...I'm on vacation from coding for a while. maybe i will get it when i start again. thanks.
    Edited by: rdkh on Jan 29, 2010 3:53 AM

  • Since upgrading Mozilla IE7 keeps stating it is NOT the default browser despite it being checked.

    Mozilla and IE7 were working fine but since upgrading IE7 will not remain the default browser. Everytime I launch IE7 it states it is not the default browser. How do I resolve this issue.

    Do you have IE as the default, and then, when you open Firefox, do you have it set to check if it is the default?
    To check it, Inside Firefox, click on Tools, then Options. Go to Advanced. Look at the Default Browser option in there. Make sure the Checkbox to always check if Firefox is the default is unchecked if you don't want to use Firefox as your default (If you want it as default, leave it checked).
    Then, you can op[en up IE, and make it your default.

  • The codition type of free goods lost.

    We are facing a problem about the codition type of free goods.
    Our business flow is:
    1:customer order 100 DR material A from CRM.he entered the requited number in item 1.
    2:we transferred the order into r/3 system.and we define the free goods in r/3.the
    policy is that we give customer 1 dr free of charge when they buy 10 dr.
    3:when this order has been transferred into r/3,the system automatically add a line
    with 1 DR free of charge.
    4:in normal,in item 2,it will contain a condition type 'PR01' and 'NA00'.the 'PR01'
    is the price and the 'NA00' is the 100% discount.
    Nut Now the condition type 'PR01' and 'NA00' in item 2 lost.

    ANYONE KNOW THE REASON?

  • How do i find out  what is the data type of a column of a Table in oracle or SQL?

    a) What if i want to find out the  Datatype of a specific column in the Table.
    b) How do i find the Column Datatypes?
    Can anyone please help me. I am new to oracle and Trying to Learn some stuff

    Hi,
    How about doing
    SQL> desc <table_name>
    SQL> desc emp
    Name                                      Null?    Type
    EMPNO                                     NOT NULL NUMBER(4)
    ENAME                                              VARCHAR2(10)
    JOB                                                VARCHAR2(9)
    MGR                                                NUMBER(4)
    HIREDATE                                           DATE
    SAL                                                NUMBER(7,2)
    COMM                                               NUMBER(7,2)
    DEPTNO                                             NUMBER(2)

  • Best way to create and keep track of objects on the fly?

    I'm making a script interpreter and am having some trouble with variables. Basically I have a class Variable. Whenever my interpreter finds the right code it should create a new Variable object with two parameters, the value and the name. Later these Variables have to be accessed of course. I thought of using an array instead but then the number of variables is limited.
    So what is the best way to keep a sort of database for Variables? I thought a linkedlist might be good here but maybe there's an easier option?
    Thanks in advance!

    I think this is exactly what I need. Thanks for the reply!

  • PTSpy - trying to find an object in the Portal

    Hello,
    PTSpy is throwing this error:
    -2147024891 - Current User does not have sufficient permission to object with id = 202
    (full error at the end)
    I looked above to the sql and ran the query - of course nothing is found:
    Create query: '/* QUERY_USER_ACCESS:ANSI */ SELECT DISTINCT(b.ACCESSLEVEL) FROM PTOBJECTSECURITY b, PTVGroupMembership gm WHERE b.groupid = gm.groupid AND gm.userid=? AND b.classid=? AND b.objectid=? ORDER BY b.ACCESSLEVEL DESC'
    setInt, index: 0, value: 4762.
    setInt, index: 1, value: 47.
    setInt, index: 2, value: 202.
    How do I find the object that does not have permission it is looking for - in the Portal?
    Thanks,
    V
    Display: The following error occured when trying to display the HTML:
    com.plumtree.server.marshalers.PTException: -2147024891 - Error in function PTBaseObjectManager.Open (nObjectID == 202, bLockInitially == false): -2147024891 - Current User does not have sufficient permission to object with id = 202
    com.plumtree.server.marshalers.PTException: -2147024891 - Error in function PTBaseObjectManager.Open (nObjectID == 202, bLockInitially == false): -2147024891 - Current User does not have sufficient permission to object with id = 202
    at com.plumtree.openfoundation.util.XPException.GetInstance(String strErrorMsg, Exception e)
    at com.plumtree.server.impl.core.PTBaseObjectManager.Open(Int32 nObjectID, Boolean bLockInitially)
    at com.plumtree.portalpages.browsing.directory.DirModel.GetWebService(Int32 _nDataSourceID)
    at com.plumtree.portalpages.browsing.directory.DirModel.SupportsUpload(Int32 _nDataSourceID)
    at com.plumtree.portalpages.browsing.directory.documentsubmitsimple.DirCardSubmitSimpleView.DisplayJavascript()
    at com.plumtree.portalpages.browsing.directory.documentsubmitsimple.DirCardSubmitSimpleDP.DisplayJavaScriptFromChild()
    at com.plumtree.uiinfrastructure.form.AFormDP.Display(IWebData pageData)
    at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleDisplayPage(Redirect myRedirect, RequestData tempData)
    at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleRequest(IXPRequest request, IXPResponse response, ISessionManager session, IApplication application)
    at com.plumtree.uiinfrastructure.interpreter.Interpreter.DoService(IXPRequest request, IXPResponse response, ISessionManager session, IApplication application)
    at com.plumtree.uiinfrastructure.web.XPPage.Service(HttpRequest httpRequest, HttpResponse httpResponse, HttpSessionState httpSession, HttpApplicationState httpApplication) in e:\buildroot\Release\httpmemorymanagement\6.1.x\dotNET\src\com\plumtree\uiinfrastructure\web\XPPage.cs:line 82
    at com.plumtree.portaluiinfrastructure.activityspace.PlumHandler.ProcessRequest(HttpContext context) in e:\buildroot\Release\portalui\6.1.x\ptwebui\portal\dotnet\prod\src\web\PlumHandler.cs:line 37
    at System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    at System.Web.HttpApplication.ResumeSteps(Exception error)
    at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
    at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
    at System.Web.HttpRuntime.ProcessRequest(HttpWorkerRequest wr)
    at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
    Caused by: com.plumtree.server.marshalers.PTException: -2147024891 - Current User does not have sufficient permission to object with id = 202
    at com.plumtree.server.impl.core.PTBase.ThrowException(String message, Int32 errorCode)
    at com.plumtree.server.impl.core.PTBaseObjectManager.VerifyObjectAccess(Int32 minAccessLevel, Int32 lObjectID)
    ... 18 more

    Hey Vivek, I couldn't agree with you more. It is definitely a hassle to try to find the broken object in statements like "Current User does not have sufficient permission to object with id = 202"
    I created a ticket with Plumtree about this 2 years ago and they informed me that because object IDs are not unique and have to be used in conjunction with a class ID that they can't perform a reliable search.
    Instead you must test each class ID and match it against the object ID to find your problem.
    Its a bit labor intense but there are only about 15 different class ID's to run through.
    I posted a list of our ID's in our portal team collab project and each time this situation comes up we just scan through the list using a URL

Maybe you are looking for