Write updated Object with ObjectOutput Stream over a socket

Hello,
i would like to use an ObjectOutput Stream ot write over a socket between 2 process. But each time the object is modified on a given process i would like to resend it to the other in order to get the object updated.
My porblem is that the object is never retrieved in its modified state on the second process.
here is the class that i'm using to send and receive objects.
On the server it is instanciated with serverMode=true and false on the client
public class GameClient extends Thread
     private String m_servername="";
     private int m_serverport=0;
     private ObjectOutputStream m_oos = null;
     private ObjectInputStream m_ois = null;
     private Socket m_socket = null;
     private ServerSocket m_serverSocket = null;
     private Vector<INetworkController> m_listeners = new Vector<INetworkController>();
     private static final Trace trace = new Trace("SimpleClient");
     private boolean m_serverMode=false;
     public GameClient(String serverName,int port,boolean serverMode) throws IOException, UnknownHostException
          try
               m_serverMode = serverMode;
               m_servername=serverName.trim();
               m_serverport=port;
               if (m_serverMode)
                    m_serverSocket = new ServerSocket( m_serverport);
               else
                    m_socket = new Socket(m_servername, m_serverport);
                    m_oos = new ObjectOutputStream(m_socket.getOutputStream());
                    m_ois = new ObjectInputStream(m_socket.getInputStream());
               start();
          catch (BindException e)
               e.printStackTrace();
               String message = "Impossible de lancer le serveur. Un autre process �coute d�j� sur ce port";
               System.exit(0);
     public void run()
          try
               if (m_serverMode)
                    Socket client = m_serverSocket.accept();
                    m_oos = new ObjectOutputStream(client.getOutputStream());
                    m_ois = new ObjectInputStream(client.getInputStream());
          catch(Exception e)
               e.printStackTrace();
          trace.startMethod("run()");
          trace.println("Listening Client Thred started");
          while(true)
               try
                    Event serverMessage = (Event) m_ois.readObject();
                    trace.println("Waiting for message");
                    dispatchEvent(serverMessage);
                    trace.println("Message Reveived");
               catch(Exception e)
                    String message = "La connexion r�seau a �t� perdue";
                    e.printStackTrace();
                    trace.endMethod();
                    try
                         if(m_socket!=null)
                              m_socket.close();
                         if (m_serverSocket!=null)
                              m_serverSocket.close();
                         m_oos.close();
                         m_ois.close();
                    catch (Exception e2)
                         e2.printStackTrace();
                    return;
     private int m_counter=0;
     public void sendNetworkMessage(Event msg)throws IOException, UnknownHostException
          if (m_oos != null)
               m_oos.writeObject(msg);     
               m_oos.flush();
               //m_oos.reset();
          time = System.currentTimeMillis()-time;
          trace.endMethod();
     }Each time an object can be read, the read object is dispatch with the method dsiaptchEvent() which is not described here...
I do not inderstand what's wrong in here
Edited by: Voldor on Oct 16, 2007 4:10 PM

Thanks but if i uncomment m_oos.reset() each time i write something on the socket (on the client or on the server) it is more and more longer to retrieve the writeen object on the other side of the socket (more than 40 sec after 12 messages exchanged, 6 coming from the server and 6 form the client)
and after all i got the following
java.lang.ArrayIndexOutOfBoundsException
     at java.net.SocketInputStream.socketRead0(Native Method)
     at java.net.SocketInputStream.read(Unknown Source)
     at java.net.SocketInputStream.read(Unknown Source)
     at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
     at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
     at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readArray(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
     at java.io.ObjectInputStream.readSerialData(Unknown Source)
     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
     at java.io.ObjectInputStream.readObject0(Unknown Source)
     at java.io.ObjectInputStream.readObject(Unknown Source)
     at dt.communication.GameClient.run(GameClient.java:78)Do you have any idea ? Any recommandation about when to call reset ?
Edited by: Voldor on Oct 16, 2007 4:44 PM

Similar Messages

  • Using buffered byte stream over a Socket (urgent)

    I have been breaking my head over this since a day now.
    This is my client:
    InputStream in = new BufferedInputStream(sock.getInputStream());
    OutputStream out = new BufferedOutputStream(sock.getOutputStream());
    String st = msg+"\r\n";
    byte buf[] = st.getBytes();
    out.write(buf);
    This is my server:
    InputStream in = new BufferedInputStream(s.getInputStream());
    OutputStream out = new BufferedOutputStream(s.getOutputStream());
    int inp;boolean endOfStream=false
    while(!endOfStream)
    if((inp=in.read())==-1) //does not go beyong the read()
    endOfStream=true;
    System.out.println(inp + " - " + (char) inp);
    At the server, the program seems to be waiting perennially at the read() method of the input stream. To get to this point, the server socket has accepted the connection from the client socket successfully. Is there something that is wrong in the code snippet above? (Perhaps something stupid & basic that I missed out!)
    Any clarifications, elucidations are welcome. Any alternate code-snippets that would do just what I'm trying to do would also help.
    Thanks & Regards,
    Kapil

    You should remeber to close the streams, too. If you don't flush or don't close the output stream there is no guarantee that any data will actually be sent - the BufferedOutputStream may well be buffering everything.

  • Write an object that has array

    I am trying to figure out how to write a object with an array
    Player[] jim = new Player[30];
    for (int i=0;i<30;i++)
    jim= new Player("" + i);
    I am trying to figure out how to get the number of points jim scores in a month, so i need 31 days and a way to input the number of points he scored. Any help would be great

    Well, i think you don't have to create a whole bunch of arrays to enter jim's scores in 31 days. I presume you already have a separate object called Player. Why not set a List attribute on that object and manipulate the scores there. You don't need to instantiate an array for that.
    public class Player{
        private List scores = null;
        ....... //other attributes here
        public Player(){
            scores = new ArrayList();
        public void addScore(String score){
            scores.add(score);
        public List getScore(){
            return scores;
    }well, of course to get the contained items from the List, do manipulate it using arrays. And well, just parse down the returned scores to int because they are stored as strings here.
    hope that helps.

  • Streaming sound over a socket

    Does anyone know how to capture sound on a microphone and streamed over a socket connection to a remote machine. When the remote machine receives this it plays it directly to speakers.
    I don't want to capture a bit of sound and send a sound file I would like to be able to stream it like an internet phone.
    Does anyone know what would be the best way to go about doing this?

    http://search.java.sun.com/search/java/index.jsp?col=javaforums&qp=&qt=%2Bvoice+%2Bover&x=13&y=2
    http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=%2Bvoice+%2Bover++%2Binternet

  • How can I write new objects to the existing file with already written objec

    Hi,
    I've got a problem in my app.
    Namely, my app stores data as objects written to the files. Everything is OK, when I write some data (objects of a class defined by me) to the file (by using writeObject method from ObjectOutputStream) and then I'm reading it sequencially by the corresponding readObject method (from ObjectInputStream).
    Problems start when I add new objects to the already existing file (to the end of this file). Then, when I'm trying to read newly written data, I get an exception:
    java.io.StreamCorruptedException
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    Is there any method to avoid corrupting the stream? Maybe it is a silly problem, but I really can't cope with it! How can I write new objects to the existing file with already written objects?
    If anyone of you know something about this issue, please help!
    Jai

    Here is a piece of sample codes. You can save the bytes read from the object by invoking save(byte[] b), and load the last inserted object by invoking load.
    * Created on 2004-12-23
    package com.cpic.msgbus.monitor.util.cachequeue;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    * @author elgs This is a very high performance implemention of Cache.
    public class StackCache implements Cache
        protected long             seed    = 0;
        protected RandomAccessFile raf;
        protected int              count;
        protected String           cacheDeviceName;
        protected Adapter          adapter;
        protected long             pointer = 0;
        protected File             f;
        public StackCache(String name) throws IOException
            cacheDeviceName = name;
            f = new File(Const.cacheHome + name);
            raf = new RandomAccessFile(f, "rw");
            if (raf.length() == 0)
                raf.writeLong(0L);
         * Whne the cache file is getting large in size and may there be fragments,
         * we should do a shrink.
        public synchronized void shrink() throws IOException
            int BUF = 8192;
            long pointer = getPointer();
            long size = pointer + 4;
            File temp = new File(Const.cacheHome + getCacheDeviceName() + ".shrink");
            FileInputStream in = new FileInputStream(f);
            FileOutputStream out = new FileOutputStream(temp);
            byte[] buf = new byte[BUF];
            long runs = size / BUF;
            int mode = (int) size % BUF;
            for (long l = 0; l < runs; ++l)
                in.read(buf);
                out.write(buf);
            in.read(buf, 0, mode);
            out.write(buf, 0, mode);
            out.flush();
            out.close();
            in.close();
            raf.close();
            f.delete();
            temp.renameTo(f);
            raf = new RandomAccessFile(f, "rw");
        private synchronized long getPointer() throws IOException
            long l = raf.getFilePointer();
            raf.seek(0);
            long pointer = raf.readLong();
            raf.seek(l);
            return pointer < 8 ? 4 : pointer;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#load()
        public synchronized byte[] load() throws IOException
            pointer = getPointer();
            if (pointer < 8)
                return null;
            raf.seek(pointer);
            int length = raf.readInt();
            pointer = pointer - length - 4;
            raf.seek(0);
            raf.writeLong(pointer);
            byte[] b = new byte[length];
            raf.seek(pointer + 4);
            raf.read(b);
            --count;
            return b;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#save(byte[])
        public synchronized void save(byte[] b) throws IOException
            pointer = getPointer();
            int length = b.length;
            pointer += 4;
            raf.seek(pointer);
            raf.write(b);
            raf.writeInt(length);
            pointer = raf.getFilePointer() - 4;
            raf.seek(0);
            raf.writeLong(pointer);
            ++count;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCachedObjectsCount()
        public synchronized int getCachedObjectsCount()
            return count;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCacheDeviceName()
        public String getCacheDeviceName()
            return cacheDeviceName;
    }

  • Having trouble with ObjectInput/ObjectOutput Streams

    how do you get a program to both listen for incoming objects on the ObjectInputStream, and be able to write objects to the ObjectOutputStream on the same socket?
    Right now part of my server looks like this:
    public void run(){
    try {
    objIn = new ObjectInputStream(connection.getInputStream());
    objOut = new ObjectOutputStream(connection.getOutputStream());
    objOut.writeObject(courier);
    while(true){
    courier = (Info)objIn.readObject();
    filterCmd(courier);
    } catch (Exception e) {
    }finally{
    }and part of my client looks like this:
    public void run(){
    try {
    OutputStream os = connection.getOutputStream();
    objOut = new ObjectOutputStream(os);
    objOut.flush();
    InputStream is = connection.getInputStream();
    objIn = new ObjectInputStream(is);
    try{
    while (true){
    Info courierIn = (Info) objIn.readObject();
    filterCmd(courierIn);
    }catch (Exception e){
    }They connect correctly and when the "courier" object gets written by the server before the server enters the "listening loop" everything works fine: it comes out on the other side, gets filtered and dislpayed correctly (not shown). The problem occurs when I invoke this method to write another object back to the server from the client:
    public void send(String cmd){
    try {
    courierOut.cmd = cmd;
    objOut.writeObject(courierOut);
    } catch (IOException ex) {
    Logger.getLogger(PlayerProfile.class.getName()).log(Level.SEVERE, null, ex);
    }(it's the same class of object, but a different instance). When I invoke this method from a swing button, I get this:
    java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.net.SocketInputStream.read(SocketInputStream.java:182)
    at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249)
    at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542)
    at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at c2.PlayerProfile.run(PlayerProfile.java:687)
    at java.lang.Thread.run(Thread.java:619)This is how I set up a similar program except using Scanner and PrintWriter.
    I have read the docs on the reset method and reset exception, but it doesn't makes sense in this situation to me. How is this sort of thing (have a server and client write objects back and forth) usually done?
    Thanks so much.
    Matt

    paul.miner wrote:
    I think ObjectInputStream and ObjectOutputStream will close the underlying stream when they are closed.Correct. So will any other stream. And that will close the socket. And that will close the input stream if you closed the output stream, or vice versa.
    Furthermore, some streams that come in pairs like this will not always read all the bytes written (e.g. GZIPInputStream does not always read all the bytes written by GZIPOutputStream). I don't know if this is true of these two streams, but just something to keep in mind.If you read an ObjectInputStream until you get an EOFException, you have read all the data.
    Regarding the first problem, you could wrap your connection's streams with a filter that simply drops and request to close() it.Regarding the first problem, don't close the stream! and don't let it be GC'd either. You can't keep using new streams on the same socket, for lots of reasons, so they always have to be instance variables of the same class that has the Socket itself as an instance variable.
    Regarding the second (possible) problemIt doesn't exist.

  • Update existing object with parsers

    Hi,
    I'seen on the Developer guide of IFS that :
    "Parsers cannot be used to update existing objects" (page 76 of the pdf file)
    I've also seen on the same document that :
    "The aplication can use postOperation() to access the repository object that was created or updated by the parser" (page 91 of the pdf file)
    I'm sorry, I don't understand if updating objects in the repository is possible or not with parsers.
    does anyone know ?

    Hi,
    You have to remember that you are writing SQL building blocks, not code...
    Also when you use @select(), yes that will only pull the contents of the Select box of that object.
    To get the contents of the Where box, you need @Where().
    These are separate because typically you are either building a select part (normal objects) OR a where part (filters).
    So think out of the box and decide how you would write it in a sql statement if you did not have a universe,
    then break it in pieces that make sense.
    I'm not 100% sure of what it is you are trying to achieve, but you can do something like:
    case @where(object2) when TRUE then @select(object2) end
    Off course writing this in one go is just as valid, you don't have to reuse, only with big chunks or @prompt() stuff it makes sense to prevent typo's
    Hope this helps,
    Marianne

  • TS3989 how do I manually update my photos on my Apple Tv with photo stream?

    how do I manually update my photos on my Apple Tv with photo stream?

    Incorrect. Photos added to the Camera Roll are automatically uploaded to Photo Stream. Photos deleted from the Camera Roll are not automatically deleted from Photo Stream.

  • Does iTunes Connect Christmas break mean apps won't update with new folios over Christmas?

    I have 2 folios that are due to be released to my app this Christmas - both fall within the 22nd-29th window iTunes have chosen to close down.
    So even though I can publish my folios through DPS over Christmas and pre-plan my app description in iTunes accordingly - before the 22nd - will those published folios not appear in my app?
    Thanks.

    You mean updating a paid folio... don't know if that needs approving, too.
    Maybe someone else can chime in here (I have no exp in that)
    (mobil gesendet)
    Am 16.12.2011 10:05 schrieb "jamie.dunmore" <[email protected]>:
       Re: Does iTunes Connect Christmas break mean apps won't update with
    new folios over Christmas?  created by jamie.dunmore<http://forums.adobe.com/people/jamie.dunmore>in
    Digital Publishing Suite - View the full discussion<http://forums.adobe.com/message/4088490#4088490>

  • After updating I can not get over 1000 songs from my library to play.  I spent 2 hours with Apple support and he could not fix it.  Anybody got any ideas?

    After updating I can not get over 1000 songs from my library to play.  I spent 2 hours with Apple support and he could not fix it.  Anybody got any ideas?

    While not exactly the same, I wonder if this would help?  http://support.apple.com/kb/TS1967

  • Passing serialized object and data as byte stream over same stream

    I am writing a chat program, I am keeping online user List as Vector A would like to pass online user List to client as Vector object also the client message is sended as byte stream. Is it possible to pass object and data as byte stream over the same stream.

    I am writing a chat program, I am keeping online user
    List as Vector A would like to pass online user List
    to client as Vector object also the client message is
    sended as byte stream. Is it possible to pass object
    and data as byte stream over the same stream.Why are you sending the client message as a byte stream?
    String seems a much more logical type. I would assume that you're reading strings from one client, and printing them on the others. If you translate to bytes in the middle, you're going to have to ensure that you decode those streams correctly on the other side.
    And if I were implementing this, I probably wouldn't send the raw Vector or List ... instead, I'd create a Message object, which wraps the Vector/String, and a MessageDispatcher interface, which the client implements to handle incoming messages.

  • Suppose I have two identical laptops loaded with my current time machine back up. I take one on a trip and update it with time machine but leave it. I come back w time machine HD and connect the home laptop, will it just update or start over from scratch?

    Suppose I have two identical laptops loaded with my current time machine back up. I take one on a trip and update it with time machine but leave it behind. I come back with the time machine HD and connect it to the home laptop, will it just update or start over from scratch? is there a way to make it just update it?

    You might have better luck using a clone.
    Clone  - Carbon Copy Cloner          (Often recommended as it has more features than some others)
    Clone – Data Backup
    Clone – Deja Vu
    Clone  - SuperDuper
    Clone - Synk
    Clone Software – 6 Applications Tested
    Commonly Used Backup Methods

  • [svn] 3486: Updates to support reliable messaging over streaming transports .

    Revision: 3486
    Author: [email protected]
    Date: 2008-10-05 12:51:04 -0700 (Sun, 05 Oct 2008)
    Log Message:
    Updates to support reliable messaging over streaming transports.
    QA: No
    Doc: No
    Checkintests Pass: Yes
    Details:
    Unbind subscription invalidation from streaming connection close. New behavior is for subscription invalidation to be bound to session invalidation, in the same fashion as simple polling or long-polling works.
    Modified Paths:
    blazeds/trunk/modules/core/src/flex/messaging/client/EndpointPushNotifier.java
    blazeds/trunk/modules/core/src/flex/messaging/client/FlexClient.java

    nokia will have this on there NSU by end of month or into next month.
    If you find my post useful then click on
    Kudos!Nokia N96 (v20.050 / RM-247)
    www.shaysoft.net | Competitions!

  • Master page objects with drop shadows crossing over spreads

    Mac 10.5.4 - INDesign CS3
    I have a book file that is giving me a pretty hard time. There are several master page spreads that do not show as spreads in the book file. The left page from one set of masters with the right page from another set. There is a grouped row of circles that has drop shadow applied that appears on several master spreads. This is built as two groups that meet in the gutter to give the appearance of a row all the way across the spread. When the group is on the gutter between the two pages of the master spread, The object will show up on the both pages of the book spread, on top of the data from the left page master. If we shut off the drop shadow, no problem. If we move the group 0p5 away from the gutter no problem. The problem is that in the end we want this element to have a drop shadow and to run into the gutter.
    Does InDesign count the spread of the object effect as part of the object itself? That seems like what is happening. Is there a fix (work around) for this?

    The easiest workaround I know of is to paste the object with the drop shadow inside another box such that you can clip it at the gutter. We've cursed this "feature" for years.

  • Updating JournalEntries object with more than one currency fails

    I'm using SBO 6.50 (exactly CEE version 7.60.014 SP:01 EF:08).
       I'm trying to update memo field of existing journal entries. Most of them works OK, but if I try to update entry with more than one currency, update fails with an error code -5002 and message:
       Transaction includes more than one currency [OCRN].
    Code (in C++) is quite simple:
    SAPbobsCOM::ICompanyPtr m_company = SAPbobsCOM::ICompanyPtr("SAPbobsCOM.Company");
    SAPbobsCOM::IJournalEntriesPtr pEntry = m_company->GetBusinessObject(SAPbobsCOM::oJournalEntries);
    long m_nId = 1;     // TransId field, any valid value
    try
         if (pEntry->GetByKey(m_nId) != -1)
              return;
         pEntry->Memo = _bstr_t("Memo");;
         if (pEntry->Update() < S_OK)
              throw(0);
    catch(...)
         long lError; BSTR bstrError;
         m_company->GetLastError(&lError, &bstrError);
    What's wrong? Using multiple currencies in journal entry is correct, it is possible to add them manually so it should be possible to update such an "safe" field as Memo is.

    Hi,
    I have the same problem, but if you go to Administration->System Initialization ->Document Settings, select "Per Document", and in Document, choose "Journal Entry", by default, the options are clicked, or "Blocked", this is why in DI yoy get this message.
    Try to unchecked and it will work.
    HTH,
    Ribeiro Santos

Maybe you are looking for