MessageWait

In a process created in BPM studio 10g, between the final interactive activity and End activity, I put a MessageWait acitivty and add a due transition from MessageWait to the final Interactive activity. This process also has an exception transition to the End activity.
I refer the example of CorrelationsExample-Accept Invoice. However, Studio does not alllow to do that. Below is the error message.
How to add a messagewait and let the participant know that they need to do something?
Thanks.
------------------------error------------------------------------------
The project publication has failed. Reason: There is a transition that allows the instance to pass through a notification wait activity of thype 'child process' ('MessageWait') without passing through its corresponding creation process. The erroneous tranistion comes from activity 'issue'.
Full flow sequence: List of activities passed through:
-Begin
-Reception
-Conditional
-sh
-issue
-MessageWait
Edited by: YE on May 8, 2009 11:50 AM

Hi Ye,
Understand the part about having a Message Wait activity just before the End activity.
Could you explain what you want to use it for? I'm guessing this might help debug the error you're getting. There are several different use cases that the Message Wait is used for. For example, here's one common scenario - are you using the Message Wait activity expecting a corresponding notification from a Send Message activity from a child subprocess spawned from this parent process? If this is case, have you set up the property for the Message Wait activity to be waiting for a notification from a Child subprocess and have you created a Send Message activity in the child subprocess with its property set to notify the parent's Send Message activity.
At a minimum, tell us the property settings you've given the the Message Wait activity. For example, if you've checked "allows interruptions" then the activity cannot be part of the main process flow. Also, if you have a Send Message activity in a called subprocess, could you tell us how you've defined its properties? If this is the case, how are you creating the instance in the subprocess? (e.g. Process Creation of Subflow or using logic)
Could you add a little more detail behind what you mean by "How to add a messagewait and let the participant know that they need to do something?". Again, it will depend on your use case. One scenario is if you want a child process to notify a parent, then the child process' work item instance will either flow into Send Message activity or hit logic "send Notfication..." that will cause the work item instance stuck in the parent's Message Wait activity to be released. Participants are usually oblivious to the fact that they are causing a notification to fire. They usually just know that they have selected and are working on a work item in their inbox. Once they complete their work on the instance, it's the process that causes the notifcation to fire. The participant is an innocent bystander at this point.
Hope this helps,
Dan

Similar Messages

  • Charger not supported messagew on a 3109

    Hi, I have 3109 & have just tried to charge & getting a message "charger not supported"?? Can anyone help??

    but still, why would they release some in one format and some in another in a completely random order? it's the same podcast, and the ones thats dont wotk on my phone, do work on my ipod. so why is that?

  • I can not read my mails on my email screen. It does not show the messagew

    Although te massages are showen in brief at hè leeft, the screen does not show THE whole message,

    Try closing the Mail app completely and see if the email text shows when you re-open it : from the home screen (i.e. not with the Mail app 'open' on-screen) double-click the home button to bring up the taskbar, then press and hold any of the apps on the taskbar for a couple of seconds or so until they start shaking, then press the '-' in the top left of the Mail app to close it, and touch any part of the screen above the taskbar so as to stop the shaking and close the taskbar.
    If that doesn't fix it then try a reset : press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.

  • Anyone else having trouble downloading applications? keep getting this messageWe are currently experiencing some issues, please try again later. If the problem persists, contact customer support.?

    Is anybody else having trouble accessing the part of the site in which you download creative cloud?
    "We are currently experiencing some issues, please try again later. If the problem persists, contact customer support."

    Please read, and reply back here with information https://forums.adobe.com/thread/1499014
    -and try some steps such as changing browsers and turning off your firewall for downloads
    or
    A chat session where an agent may remotely look inside your computer may help
    Creative Cloud chat support (all Creative Cloud customer service issues)
    http://helpx.adobe.com/x-productkb/global/service-ccm.html

  • Error messagew while burning

    My i Tunes will not burn cds. I keep getting random error codes like 4625 and others. I am not sure what to do. Thanks.

    The actual attempt to write anything to a disc doesn't happen until Stage 4 - that's the burning stage.
    What is the model of your iMac computer - or select Apple>About this Mac>More Info>Hardware ATA
    What is the make and model of your burner (For example, on the machine I'm using right now it says Pioneer DVD-RW DVR-104) What do YOU see?
    Your profile suggests you have a 17inch, 1.25 Ghz iMac with a 4x burner that supports only DVD-R media.
    Memorex isn't one of the favored brands - try Verbatim or Maxell - and look for lower speed media - which is getting hard to find. The drive I mentioned should support burning of 16x media at 4x - so it may be a brand issue.
    F Shippey

  • My ipod touch 4G doesn't work with my itunes!

    It appears a window saying "The iPod can not sync. There is an internal error of the device" I thought it was an error from my ipod but  now i have a new one and it appears the same message

    Was it an error message similar to one of these?
    http://support.apple.com/kb/TS3221
    B-rock

  • HT5704 i have iphone 3gs my iphone has been updated 6.1.3 version but it's not activate, how i can active it ?

    i have iphone 3gs my iphone has been updated 6.1.3 version but it's not activate, how i can active it ?

    What exacly happens when you try to activate, including any error messagews
    How did you "update" to iOS 6.1.3?  The current iOS update for the 3Gs is 6.1.6. 

  • Process Exception in Timer

    Hi,
    I am using timer whose value needs to be changed dynamically.
    I am using instance variable of type Interval as timer Interval Expression.I am changing value of interval instance variable using notification and Message wait activity as explained in following thread.
    Due Transtion
    But i get process exception once i change the value of interval instance variable.
    Please help me to resolve this error.
    Thanks
    viraj.

    Hi Viraj,
    Here's an exported project that resets a Due transition using a Message Wait that has an its "Allows Interruptions" property set: http://www.4shared.com/file/138090345/65ae1074/ResetDueTransition.html.
    Import this project. Note the Due transition coming out of the "Wait Here for Due to Timeout" Interactive activity. This Due transition is based on the interval instance variable called "timeToWait". Initially this interval is set to 4 minutes in the Automatic activity.
    Here's the tricky part to reseting this time interval in the Due transition.
    1. I added a Message Wait activity in the process and changed its property to "Allow interruptions" and to be notified by an "Internal event" since I'm doing the notification from a Global Interactive activity in the process the same process. If I'd had it notified from PAPI, I'd have marked this as "External event"
    2. I added an orphan Automatic activity that has the logic that has these two lines of logic:
    // reset the time iterval
    timeToWait = '1h'
    action = BACKI could have had an argument variable coming into the Message Wait activity and then used that value instead of hard coding it to '1h' (one hour).
    3. I added a Global Interactive activity in the process called "Reset the Timer" that has this logic:
    instanceId as String
    input "Enter the id of the instance's deadline to reset: " : instanceId
        using title = "title",
              buttons = ["Ok", "Cancel"]
        returning selectedButton = selection
    send(Notification, instanceId : instanceId,
          activityName : "MessageWait", argumentSetName : "MessageWaitIn", parameters : null)Since this was just sample code, I used the "input" statement. Take this out before going into production.
    4. To test this, log into the Workspace and create an instance by clicking "Create instance" in the Applications. Note the instance's id that is automatically populated in the description of the work item instance. Note that the deadline for this work item instance is 4 minutes after it was created. Reset this to one hour from now by clicking the "Reset Wait Time" Global Creation activity in the Applications area of the Workspace -> enter the instance's id you want to reset (the value in the description of the instance) and click "Ok". Note the deadline changes dynamically to be one hour from now.
    Hope this is clearer,
    Dan

  • I can't open settings on my MacBook Pro 2013

    I can't open settings.

    I get the following message:
    ingleActionshowtime jingleDocTypefailure failureType5556 messageWe're sorry, we cannot complete your request on the iTunes Store at this time. explanationPlease try again later.defaultButtonok okButtonStringOK okButtonAction
    I cannot open System Preferences.

  • Regarding Instance Filter for instance search

    Hi,
    We are facing one problem during instance search through InstanceFilter code. We have written the following code to find the instance-
    Fuego.Papi.InstanceFilter instFilter;
    instFilter.create(processService : ProcessService);
    instFilter.addAttributeTo(variable : "String", comparator : Comparison.IS,value : String);
    instancesValues = ProcessService.getInstancesByFilter(filter : instFilter);
    We are able to find the instances through this code if the instances are at any Interactive activity but unable to find the instances if they are lying in MessageWait activity. The instanceValues length in this case always comes as "0" but if the instances are at any Interactive activity, we are getting the instanceValues length as required.
    Please suggest some way to find the instances which are at MessageWait activity.
    Thanks in advance,
    Abhishek

    Hi,
    Define the SearchScope for the filter right after you create it - as below:
    Fuego.Papi.InstanceFilter instFilter;
    instFilter.create(processService : ProcessService);
    instFilter.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
    instFilter.addAttributeTo(variable : "String", comparator : Comparison.IS,value : String);
    instancesValues = ProcessService.getInstancesByFilter(filter : instFilter);
    Having ParticipantScope as "ALL", enables the filter to return all the instances irrespective of the activity type (interactive or automatic)...
    -Thanks,
    Malar.

  • Grab from an instance within split join

    Hi All
    I have a process, and every now and then a user from role 'G' wants to grab the instances of a process (that may exist in any activity) to one of his activities, say 'AAG' (Activity After Grab :)). The Grab activities properties are defined so that it can grab instances from 'All' activities and then assign to 'AAG'.
    You can visualize the process like this:
    Activity A1 --> Split ----> branch 1 after split forwards to Activity AS1, brach 2 after split forwards to Activity AS2 ---> join ---> A3 --> A4 ---> AAG --> A5 ---> end
    Now when an instance has executed the split, the main instance waits at join. THe child instances are each at activity AS1 and AS2.
    When a user wants to grab this instance, the idea is that AS1 and AS2 should disappear, the instance at join should go to AAG.
    To realize that, if I try to grab the instance waiting at join, I can move this to AAG. However instances at AS1 and AS2 still remain there.
    If I try to grab instances at AS1 or AS2, I can not send them to AAG.
    Any workarounds?
    I am basically using PAPI to get hold of the instances. Was thinking of grabbing the instance at join, and terminating all others. But am looking for a better solution.
    THanks
    Satinder

    Hi Dan
    You are right, this might be an option (I have not yet tried it though). But I guess it still might not be the best option because -
    1. This user can grab instance in any activity and assign to AAG. Now if an activity is not within split-join, then we dont really need to interrupt the instance and call this message activity, a grab works fine. Message activity will also work fine, but that would mean that for every activity in the process I will need to add a conditional transition (executed when flagToGoToAAG = true) that goes to AAG.
    2. We got a little more than usual complex process. It has about 6-7 splits. Also there are about three Grab activities. This would mean about 7*3 additional transitions originating from different joins.
    I was looking for a solution may be that can process/abort all instances within split-join when the instance at join is grabbed.
    Thanks for your help.
    Cheers
    BTW, I have never used a MessageWait, in case this becomes the only option available, could you let me know how to create an interrupt from PAPI for this messageWait.
    Thanks a lot
    Best
    Satinder

  • I get confuse WHY the createImage cant run well or get nullpointer error??

    Try to help me..why my createImage in Ticker.class can run BUT when I decide to move to TickerTape.class then it come out the error which at below:
    java.lang.NullPointerException
         at TickerTape.initImage(TickerTape.java:87)
         at Ticker.update(Ticker.java:511)
         at Ticker.paint(Ticker.java:488)
         at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
         at sun.awt.RepaintArea.paint(RepaintArea.java:224)
         at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:254)
         at java.awt.Component.dispatchEventImpl(Component.java:4031)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    java.lang.NullPointerException
         at TickerTape.initImage(TickerTape.java:87)[Ticker Ver 4.0] :1. Running LATEST version!!!
    [Ticker Ver 4.0] :2. 25 JULY 2008,5:14:38PM!!!
         at Ticker.update(Ticker.java:511)
         at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
         at sun.awt.RepaintArea.paint(RepaintArea.java:216)
         at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:254)
         at java.awt.Component.dispatchEventImpl(Component.java:4031)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    java.lang.NullPointerException
         at TickerTape.initImage(TickerTape.java:87)
         at Ticker.update(Ticker.java:511)
         at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
         at sun.awt.RepaintArea.paint(RepaintArea.java:216)
         at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:254)
         at java.awt.Component.dispatchEventImpl(Component.java:4031)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)If Socket is not null..
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    <applet code=Ticker.class width=300
    height=28>
    <param name=count value=2>
    <param name=msg0 value= "Welcome to Fred Fargle's Homepage.. Just Click to Connect *** \\No Link">
    <param name=msg1 value="Visit:  ALCo -- Access LaPorte County  \\http://www.alco.org/">
    <param name=increment value=8>
    <param name=bgco value=50,0,200>
    <param name=txtco value=250,250,0>
    <param name=linkco value=180,25,21>
    </applet>
    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Event;
    import java.awt.Font;
    import java.awt.FontMetrics;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.ObjectOutputStream;
    import java.io.PrintStream;
    import java.net.Socket;
    import java.net.URL;
    import java.net.URLConnection;
    import java.net.UnknownHostException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.StringTokenizer;
    import java.util.Vector;
    public class Ticker extends Applet implements Runnable
    //     public static final String FIRST_LINE_DATA = "1^Consumer Products^327.77^+0.41^2^Industrial Products^105.39^+3.26^3^Construction^234.99^+16.22^4^Trading Services^174.56^+13.54^5^Technology^19.35^+0.04^10^Finance^10001.49^+743.35^20^Property^754.87^+0.16^25^Plantation^7810.60^-1.04^30^Mining^362.73^+0.00^200^Composite^1317.93^+88.58^300^Industrial^2875.13^+270.04^";
    //     public static final String LINE_DATA = "1^322.34^-1.75^2^99.15^-1.47^3^209.82^-5.15^4^155.89^-2.33^5^18.54^-0.29^10^8821.04^-181.79^20^722.83^-17.05^25^7921.79^-75.81^30^358.68^-2.03^200^1196.39^-16.20^300^2560.89^-21.24^861^7739.76^-112.61^862^7731.92^-104.72^863^7644.76^-140.11^864^9791.39^-168.25^865^7970.97^-118.60^866^7045.63^-149.98^867^8762.71^-110.11^868^8704.34^-102.22^869^9880.95^-105.10^870^5517.77^-78.36^871^4367.08^-145.64^";
         public static boolean DATA_FETCHED = false;
         private static final long serialVersionUID = -3405790462792767823L;
         public static boolean LOADING_DATA = false;
         TickerTape tickerTape = new TickerTape();
         public int messageIndex;
         public int messageCount;
         public boolean bStop=false;
         public String message;
         public Font messageF;
         public int messageX;
         public int messageY;
    //     public int messageW;
         public String url_;
         int increment = 1;
         public Thread t;
         public boolean active;
         public boolean flag = true;
         public Color txtCo;
         public Color linkCo;
         public Color bgCo;
         public Dimension lastS;
         public String sFirst;
         public int iIdx;
         Image image;
         //Graphics gr;
         public long milliSeconds = 100;
         boolean display_URL;
         int mouseX;
         // mouseY;
         int itemIndex = 0;
         Vector<DisplayItem> diVector = null;
         DisplayItem dispItem = null;
         FontMetrics fontmetrics1 = null;
         public static int MOUSE_NONE = 0;
         public static int MOUSE_CLICK = 1;
         public static int MOUSE_MOVE = 2;
         public static long MILLIS = 2;
        long scrollSpeed = tickerTape.getScrollSpeed();
         String appletParameters[][];
         Button btnScrollControl;
         String fontName = DisplayItem.DEFAULT_FONT_NAME;
         int fontStyle = DisplayItem.DEFAULT_STYLE;
         int fontSize = DisplayItem.DEFAULT_SIZE;
         Color textColor = DisplayItem.DEFAULT_TEXT_COLOR;
         int scrollDirection, mouseEvent = MOUSE_MOVE;
         String sData ="";
         String vendor = "";
         String Version = "Ticker Ver 4.0";
         String SessionID = "";
         String sHeader = "";
         int bRead;
         private String SendStr = "";
         Socket socket=null;
         DataInputStream input=null;
         PrintStream output;
         String feed;
         String host;
         String sTmp;
         String UserRef = "";
         String UserID;
         String BrokerID = "MYETRADE";
         Thread myThread;
         boolean bLoopThread = false;
         int intSleepTimer = 15;
         String SleepTimer = "";
         int sleepLoop = 0;
         boolean isSocket = true;
         boolean bSelfKill = false;
         boolean Timeout = false;
         private int TimeoutType = 0;
         long delay = MILLIS;
          boolean running = true;
         // int p = 0;
         // int j = 0;
         // int startPost = 0;
         // int LastPost = 0;
          int ItemToDisplay = 0;
         // int stringWidth = 0;
         // int x;
         // int y;
          private static boolean FIRST_LINE = true;
         SimpleDateFormat formattime = new SimpleDateFormat("HH:mm:ss ");
         Thread timeThread;
         Calendar calendar;
         //Dimension d;
         class heartBeatThread extends Thread
              int iTimerCount = 0;
              int iTimeoutCount = 15;
              public void setTimeoutNow()
                   iTimerCount = iTimeoutCount + 1;
              public void setTimeout(int iValue)
                   iTimeoutCount = iValue;
              public boolean getTimeout()
                   boolean bTimeout = false;
                   if (iTimerCount > iTimeoutCount)
                        bTimeout = true;
                   return bTimeout;
              public void resetTimer()
                   iTimerCount = 0;
              public void run()
                   while (true)
                        try
                             Thread.sleep(6000);
                             calendar = Calendar.getInstance();
                             if (iTimerCount > iTimeoutCount)
                                  iTimerCount = iTimeoutCount + 1;
                             else
                                  iTimerCount++;
                        } catch (Exception e)
         heartBeatThread HBT = null;
         public void timeoutNow()
              HBT.setTimeoutNow();
              Timeout = true;
              TimeoutType = 1;
         @SuppressWarnings("deprecation")
         public void init()
         //      d = getSize();
           //      image = createImage(d.getSize().width, d.getSize().height);
                 //      tickerTape.TickerTape(image);
               host = getCodeBase().getHost();
               this.appletParameters = getParameterInfo();
              if (this.appletParameters != null)
                   int noOfParamaters = this.appletParameters.length;
                   for (int i = 0; i < noOfParamaters; i++)
                        if (this.appletParameters[0].equals("font"))
                             this.fontName = this.appletParameters[i][1];
                        else if (this.appletParameters[i][0].equals("style"))
                             if (this.appletParameters[i][1].equals("plain"))
                                  this.fontStyle = Font.PLAIN;
                             else if (this.appletParameters[i][1].equals("bold"))
                                  this.fontStyle = Font.BOLD;
                             else if (this.appletParameters[i][1].equals("italic"))
                                  this.fontStyle = Font.ITALIC;
                             else if(this.appletParameters[i][1].equals("underline"))
                                  this.fontStyle = Font.ROMAN_BASELINE; // need to verify
                        else if (this.appletParameters[i][0].equals("size"))
                             this.fontSize = Integer.parseInt(this.appletParameters[i][1]);
                        else if (this.appletParameters[i][0].equals("color"))
    //                         this.textColor = this.appletParameters[i][1];
                        else if (this.appletParameters[i][0].equals("scroll_start"))
                             if (this.appletParameters[i][1].equals("left"))
                                  this.scrollDirection = TickerTape.SCROLL_LEFT;
                             else if (this.appletParameters[i][1].equals("right"))
                                  this.scrollDirection = TickerTape.SCROLL_RIGHT;
                             else if (this.appletParameters[i][1].equals("top"))
                                  this.scrollDirection = TickerTape.SCROLL_DOWN;
                             else if (this.appletParameters[i][1].equals("bottom"))
                                  this.scrollDirection = TickerTape.SCROLL_UP;
                        else if (this.appletParameters[i][0].equals("event"))
                             if (this.appletParameters[i][1].equals("move"))
                                  this.mouseEvent = MOUSE_MOVE;
                             else if (this.appletParameters[i][1].equals("click"))
                                  this.mouseEvent = MOUSE_CLICK;
                        else if (this.appletParameters[i][0].equals("delay"))
                             this.delay = Integer.parseInt(this.appletParameters[i][1]);
              //setSize(tickerTape.cParamsHeight(),tickerTape.cParamsWidth());
              //int x=900;
              //int y=40;
              tickerTape.setSize(900,40);
              setSize(900,40);
              //setSize(tickerTape.setWidthSize(900),tickerTape.setHeightSize(40));
              //setSize(900, 40);
              if(this.textColor == null)
                   tickerTape.setTickerDefaultColor(Color.WHITE);
              else
                   tickerTape.setTickerDefaultColor(this.textColor);
              tickerTape.setBgColor(Color.BLACK);
              // get Font Properties
              // If they are null create a new default font.
              if(this.fontName == null)
                   //tickerTape.setTickerDefaultFont(new Font("Times New Roman", Font.PLAIN, 12));
                   tickerTape.setTickerDefaultFont(new Font("Arial", Font.PLAIN, 13));
              else
                   //this.fontName = "Verdana";this.fontStyle = Font.BOLD;this.fontSize = 14;
                   this.fontName = "Arial";this.fontStyle = Font.BOLD;this.fontSize = 13;
                   tickerTape.setTickerDefaultFont(new Font(this.fontName, this.fontStyle, this.fontSize));
              this.scrollDirection = TickerTape.SCROLL_RIGHT;
              tickerTape.setScrollDirection(this.scrollDirection);
              setDelay(this.delay);
              tickerTape.setBgColor(0,0, 0);
              this.setLayout(null);
              this.btnScrollControl = new Button("Pause");
              this.btnScrollControl.setActionCommand("Pause");
              this.btnScrollControl.setBounds(this.getWidth() - 50, 0, 50, 35);
              this.btnScrollControl.addActionListener(new java.awt.event.ActionListener()
              public void actionPerformed(java.awt.event.ActionEvent evt)
                        Button btn = ((Button) evt.getSource());
                        String cmd = btn.getActionCommand();
                        if (cmd.equals("Pause"))
                             try
                                  t.suspend();
                             } catch (Exception e)
                                  e.printStackTrace();
                             btn.setActionCommand("Scroll");
                             btn.setLabel("Scroll");
                        else if (cmd.equals("Scroll"))
                             try
                                  t.resume();
                             } catch (Exception e)
                                  e.printStackTrace();
                             btn.setActionCommand("Pause");
                             btn.setLabel("Pause");
    //          this.add(this.btnScrollControl);
         public void createParams()
         {//tickerTape.x = 900;
              //tickerTape.y = 40;
              int width = getSize().width;
              //System.out.println("getSize().width "+getSize().width);
              int height = getSize().height;
              lastS.width = width;
              lastS.height = height;
              System.out.println("width"+width);
              //System.out.println("width: " + width + " height: " + height);
              tickerTape.createParamsgr();
              if (image != null)
                   image = null;
              Font font = tickerTape.getDefaultFont();
              this.setFont(font);
              FontMetrics metrics = getFontMetrics(font);
              metrics = getFontMetrics(font);
              int k = getFontMetrics(font).getHeight();
              //tickerTape.cParams();
              //tickerTape.createParams1(lastS);
              //setSize(tickerTape.cParamsHeight(),tickerTape.cParamsWidth());
         //     messageY = tickerTape.cParamsY();
              messageX = width;
              messageY = (height - k >> 1) + metrics.getAscent();
                   int sWidth = getSize().width;
                   int sHeight = getSize().height;
                   //image = createImage(getSize().width,getSize().height);
                   tickerTape.initImage(sWidth, sHeight);
                   //gr=image.getGraphics();
         public void paint(Graphics g)
    update(g);
         public synchronized void update(Graphics g)
              //gr.clearRect(0, 0, d.getSize().width, d.getSize().height);
              //gr.setColor(bgCo);
              //gr.drawRect(0, 0, d.getSize().width - 1, d.getSize().height - 1);
              //gr.fillRect(0, 0, d.getSize().width, d.getSize().height);
              //g.drawImage(image, 0, 0, this);
              if (Ticker.LOADING_DATA) {
                   System.out.println("Refreshing data. Please wait....");
                   return;
              try {
                   if(image==null)
                        int sWidth = getSize().width;
                        int sHeight = getSize().height;
                   //image = createImage(getSize().width, getSize().height);
                        tickerTape.initImage(sWidth, sHeight);
                   //if (tickerTape.cParamsHeight() != lastS.height|| tickerTape.cParamsWidth() != lastS.width)
                   if (getSize().height != lastS.height|| getSize().width != lastS.width)
                   createParams();
                   if (tickerTape.getDisplayItems().size() > 0) {
                        //System.out.print("lastS.width: " + lastS.width + " lastS.height: " + lastS.height + "\n");
                        tickerTape.setBackground(lastS,bgCo,messageX,messageY);
                        if (display_URL) {
                             int k = mouseX;
                             //System.out.println("k=" + k + " messageX=" + messageX);
                             if (k > messageX) {
                                  //System.out.println("(k > messageX) is true!!");
                                  //System.out.println("messageCount----> " + messageCount);
                                  messageCount = tickerTape.displayItemsCnt;
                                  k -= messageX;
                                  switch (this.mouseEvent) {
                                  case TickerTape.SCROLL_LEFT:
                                       break;
                                  case TickerTape.SCROLL_RIGHT:
                                       // for (int i1 = 0; i1 <= messageCount - 1; i1++)
                                       // i += ((Integer) msgsW.elementAt(i1)).intValue();
                                       // if (k >= i)
                                       // continue;
                                       // messageIndex = i1;
                                       // break;
                                       // break;
                                  if (this.mouseEvent == MOUSE_CLICK) {
                                       // showStatus((String)
                                       // msgsURL.elementAt(messageIndex));
                        //Font itemFont = null;
                        //FontMetrics fontMetrics = null;
                        //Color textColor = null;
                        //Vector msgs = tickerTape.getDisplayItems();
                                  switch (tickerTape.getScrollDirection()) {
                                  case TickerTape.SCROLL_LEFT:
                                       tickerTape.moveLeft(messageX,messageY);
                                       g.drawImage(image, 0, 0, this);
                                       break;
                                  case TickerTape.SCROLL_RIGHT:
                                       tickerTape.moveRight(messageX,messageY,ItemToDisplay);
                                       g.drawImage(image, 0, 0, this);
                                       break;
                                  case TickerTape.SCROLL_UP:
                                  case TickerTape.SCROLL_DOWN:
                                       tickerTape.moveDown(messageX,messageY);
                                       g.drawImage(image, 0, 0, this);
                                       //g.drawImage(image, 0, 0, this);
                                       break;
                   }     else {
                        int sWidth = getSize().width;
                        int sHeight = getSize().height;
                             //image = createImage(getSize().width, getSize().height);
                        tickerTape.initImage(sWidth, sHeight);
                             //gr=image.getGraphics();
                             tickerTape.setBackground(lastS,bgCo,messageX,messageY);
                             g.drawImage(image, 0, 0, this);
              } catch (Exception e) {
                   e.printStackTrace();
         public Ticker()
              messageCount = 1;
              // msgs = new Vector();
    //          msgsW = new Vector();
    //          msgsURL = new Vector();
              active = false;
              lastS = new Dimension(1, 1);
              display_URL = false;
         public void run()
              Thread.currentThread().setPriority(1);
              HBT = new heartBeatThread();
              HBT.start();
              HBT.resetTimer();
              System.out.println("[" + Version + "] :1. Running LATEST version!!!");
              System.out.println("[" + Version + "] :2. 25 JULY 2008,5:14:38PM!!!");
              int TimeoutCount = 0;
              //System.out.println("ITEMS : " + tickerTape.getDisplayItems().size());
    //          diVector = tickerTape.getDisplayItems();
    //          messageCount = tickerTape.displayItemsCnt;
    //          for (int index = 0; index < messageCount; index++)
    //               dispItem = diVector.elementAt(index);
    //               msgsURL.addElement(dispItem.getLink());
              DisplayItem disItem= new DisplayItem();
              txtCo = disItem.readColor("250,250,0", bgCo);
              linkCo = disItem.readColor("180,25,21", bgCo);
              bgCo = tickerTape.getBgColor();
    //          int tempCnt = 0;
              while(active)
                   nextPos();
                   try
                        if (messageY == (lastS.height / 2))
                             Thread.sleep(1000);
                        //Thread.sleep(50L);
                        Thread.sleep(this.milliSeconds);
                   }catch (InterruptedException _ex){     }
                   if(isSocket)
                             if (bStop)
                                  flag = false;
                                  break;
                             if ((socket == null) && (!(HBT.getTimeout())) && (bStop==false))
                                  try
                                       // socket = new Socket(host, 10000);
                                            try
                                                 //System.out.println("Ticker::host=["+host+"]");
                                                 //socket = new Socket(host, 10000);
                                                 socket = new Socket("172.18.20.123", 10000);
                                                 } catch(UnknownHostException unknownHost){
                                                      System.err.println("You are trying to connect to an unknown host!");
                                                 catch(IOException ioException){
                                                      ioException.printStackTrace();
                                       if (socket != null)
                                            System.out.println("If Socket is not null..");
                                            // if (UserRef=="")
                                            // UserRef = socket.getLocalAddress().getHostAddress();
                                            input = new DataInputStream(socket.getInputStream());
                                            output = new PrintStream(socket.getOutputStream());
    //                                        if(output != null)
    //                                             output.println('\001'+""+'\007'+0+'\007'+0+'\007'+0+'\002'+'\003'+""+'\007'+BrokerID+'\007'+SessionID+'\007'+Version+'\007'+'\004'+'\000');
                                            output.flush();
                                            sTmp = '\001'+"1002"+'\007'+1+'\007'+0+'\007'+0+'\002'+'\003'+""+'\007'+SendStr+'\004'+'\000';
                                            output.println(sTmp);
                                            output.flush();
    //                                        sendRequest();
                                       else
                                            isSocket = false;
                                            System.out.println("[" + Version + "] : Refresh Interval Set = [" + intSleepTimer + "]");
                                            sendPullRequest();
                                  } catch (IOException e)
                                       isSocket = false;
                                       System.out.println("[" + Version + "] : Refresh Interval Set = [" + intSleepTimer + "]");
                             try
                                  if ((socket != null) && (input != null))
    //                              System.out.println("HeartBeat True " + input.available());
                                       //while (input.available()>0)
                                       while (input.available() > 0)
                                            if (!bLoopThread)
                                                 break;
                                            TimeoutCount = 0;
                                            bRead = input.read();
                                            if (bRead != 0)
                                                 feed += (char)bRead;
                                            else if (bRead == 0)
                                                 try
                                                      dissectFeed(feed);
    //                                                  System.out.println("feed = [ " +  feed);
                                                 } catch (StringIndexOutOfBoundsException e)
                                                      e.printStackTrace();
    //                                             if (!(bSelfKill))
    //                                                  sendRequest();
                                                 feed = "";
                             } catch (IOException e)
                                  try
                                       System.out.println(" Socket read error stream Error = " + e.getMessage() + " Will Retry.");
                                       socket.close();
                                       input.close();
                                       output.close();
                                  } catch (IOException ex)
                                       System.out.println("Socket Close Error");
                                  if (bLoopThread)
                                       sendPullRequest();
         public void destroy()
              bStop = true;
              flag = false;
              if(socket != null)
                   try
                        socket.close();
                        socket = null;
                   } catch (IOException e)
                        System.out.println("destroy:Socket Close Error");
    //          if (myThread != null)
    //               myThread.stop();
    //               myThread = null;
         public void start()
              if (!active)
                   t = new Thread(this);
                   active = true;
                   t.start();
                   bStop = false;
                   flag = true;
    //          if (myThread == null)
    //               myThread = new Thread(this);
    //               myThread.start();
              bLoopThread = true;
         public void stop()
              active = false;
              t = null;
              bLoopThread = false;
              if (socket != null)
                   try
                        socket.close();
                        socket = null;
                   } catch (IOException e)
                        System.out.println("stop:Socket Close Error");
    //          if (myThread != null)
    //               myThread.stop();
    //               myThread = null;
         public synchronized void nextPos()
              switch (tickerTape.getScrollDirection())
              case TickerTape.SCROLL_LEFT:
                   scrollLeftToRight();
                   break;
              case TickerTape.SCROLL_RIGHT:
                   scrollRightToLeft();
                   break;
              case TickerTape.SCROLL_UP:
                   scrollBottomToTop();
                   break;
              case TickerTape.SCROLL_DOWN:
                   scrollTopToBottom();
                   break;
         public void setDelay(long milliSeconds)
              this.milliSeconds = milliSeconds;
         public boolean mouseUp(Event event, int i, int j)
              if (this.mouseEvent == MOUSE_MOVE)
    //               if (this.scrollDirection == TickerTape.SCROLL_UP || this.scrollDirection == TickerTape.SCROLL_DOWN)
    //                    messageIndex = itemIndex;
    //                    // System.out.println("itemIndex=" + itemIndex);
    //               URL url = null;
    //               try
    //                    url_ = (String) msgsURL.elementAt(messageIndex);
    //                    url = new URL(url_);
    //               } catch (MalformedURLException ex)
    //                    ex.printStackTrace();
    //                    return false;
    //               } catch (Exception ex)
    //                    ex.printStackTrace();
    //                    return false;
    //               display_URL = true;
    //               repaint();
    //               // System.out.println("messageIndex=" + messageIndex + " url: " + url_);
    //               getAppletContext().showDocument(url, "_");
              return true;
         @SuppressWarnings("deprecation")
         public boolean mouseEnter(Event event, int i, int j)
              try
                   if (this.mouseEvent == MOUSE_CLICK)
                        t.suspend();
                   else
                        flag = false;
                        //stop();
                        //t.suspend();
              } catch (Exception e)
                   e.printStackTrace();
                   return false;
              display_URL = true;
              // System.out.println("MouseEnter: " + messageIndex + " " + display_URL);
              repaint();
              return true;
         @SuppressWarnings("deprecation")
         public boolean mouseExit(Event event, int i, int j)
              try
                   flag = true;
                   //start();
                   //t.resume();
              } catch (Exception e)
                   e.printStackTrace();
                   return false;
              display_URL = false;
              repaint();
              // System.out.println("mouseExit " + display_URL);
              return true;
         //public boolean mouseMove(Event event, int i, int j)
              //mouseX = i;
              //display_URL = true;
              // System.out.println("MouseMove: " + messageIndex + " " + display_URL);
              //repaint();
              //return true;
         public synchronized void scrollRightToLeft()
              if(flag){
                   messageX -= increment;
                        //tickerTape.scrollRight(messageX);
                        repaint();
         public synchronized void scrollLeftToRight()
              messageX += increment;
              // System.out.println("X=" + messageX);
              if (messageX > lastS.width + tickerTape.getDisplayStringWidth())
                   // System.out.println("X=" + messageX + " width=" + lastS.width + " mW=" + messageW);
                   messageX -= (lastS.width + tickerTape.getDisplayStringWidth());
                   // messageX = 0;
                   // System.out.println("X=" + messageX);
              repaint();
         public synchronized void scrollBottomToTop()
              messageX = 10;
              messageY -= increment;
              if (messageY < 0)
                   messageY = lastS.height;
                   itemIndex += 2;
                   if (itemIndex >= messageCount - 1)
                        itemIndex = 0;
              repaint();
         public synchronized void scrollTopToBottom()
              messageX = 10;
              messageY += increment;
              if (messageY > lastS.height)
                   messageY = 0;
                   itemIndex += 2;
                   if (itemIndex >= messageCount - 1)
                        itemIndex = 0;
              repaint();
         public void sendRequest()
              if (bSelfKill)
                   return;
              //sTmp = '\001'+"0"+'\007'+0+'\007'+0+'\007'+0+'\002'+'\003'+""+'\007'+BrokerID+'\004'+'\000';
    //          System.out.println("SendRequest sTmp=["+sTmp+"],SendID=>[" + SendID + "],SendX => [" + SendX + "],SendY => [" + SendY + "],SendZ => [" +
    //          SendZ + "],UserRef => [" + UserRef + "],SendStr => [" + SendStr + "]");
              // output.println(sTmp);
              // if (SendZ>0) SendZ = 0;
              // sTmp = '\001'+"1002"+'\007'+1+'\007'+0+'\007'+0+'\002'+'\003'+""+'\007'+SendStr+'\004'+'\000';
         // output.println(sTmp);
              System.out.println("sendRequest " + sTmp);
         public void sendPullRequest()
              System.out.println("sendPullRequest() is Called");
              if (bSelfKill)
                   return;
              String strResult = "";
              URL url;
              ObjectOutputStream outputToServlet = null;
    //          sTmp = "" + '\001' + 1002 + '\007' + 2 + '\007' + 0 + '\007' + 0 + '\002' + '\003' + 3200 + '\007' + '\004' + '\000';
              sTmp = '\001'+"1002"+'\007'+2+'\007'+0+'\007'+0+'\002'+'\003'+""+'\007'+SendStr+'\004'+'\000';
    //          System.out.println("sendPullRequest " + sTmp);
              try
    //               url = new URL(getCodeBase().getProtocol()+"://"+getCodeBase().getHost() + "/my_FastFeed.jsp");
                   System.out.println(getCodeBase());
                   url = new URL("http://"+getCodeBase().getHost() + "/my_FastFeed.jsp");
                   System.out.println(url);
                   URLConnection URLConn = url.openConnection();
                   URLConn.setDoInput(true);
                   URLConn.setDoOutput(true);
                   URLConn.setDefaultUseCaches(false);
                   URLConn.setRequestProperty("Content-Type", "application/octet-stream");
                   outputToServlet = new ObjectOutputStream(URLConn.getOutputStream());
                   outputToServlet.writeObject(sTmp);
                   outputToServlet.flush();
                   outputToServlet.close();
                   InputStream inputstream = URLConn.getInputStream();
                   for (int j = inputstream.read(); j != -1; j = inputstream.read())
                        if (j == 1)
                             strResult = "";
                             // msgStart = true;
                        strResult = strResult + (char) j;
                        System.out.println("strResult>> " + strResult);
                        if (j == 4)
                             break;
                   inputstream.close();
                   sleepLoop = 0;
              } catch (IOException _ex)
                   System.out.println("sendPullRequest:IOException : " + _ex.getMessage());
              if (strResult != null)
                   if ((strResult.indexOf('\001') == -1) || (strResult.indexOf('\002') == -1) || (strResult.indexOf('\003') == -1) || (strResult.indexOf('\004') == -1))
                   else
                        dissectFeed(strResult);
         public void displaySysTime(String sTime)
         public String dissectFeed(String sFeed) throws StringIndexOutOfBoundsException, NumberFormatException
              //System.out.println("Feed>"+sFeed);
              try
                   if ((sFeed.indexOf('\001') == -1) || (sFeed.indexOf('\002') == -1) || (sFeed.indexOf('\003') == -1) || (sFeed.indexOf('\004') == -1))
                        return sFeed;
                   sHeader = sFeed.substring(sFeed.indexOf('\001') + 1, sFeed.indexOf('\002'));
                   sData = sFeed.substring(sFeed.indexOf('\003') + 1, sFeed.indexOf('\004'));
                   sFirst=sData.substring(2, 10);
                   //System.out.println("sHeader => [" + sHeader + "]");
                   //System.out.println("sData => [" + sData + "]");
                   String parts[] = sData.split("\\^");
                   if(parts.length == 1)
                        return "";
                   if(sFirst.equals("Consumer")){
                        Ticker.FIRST_LINE = true;
                   //System.out.println("parts.length--->>" + parts.length);
                   if (parts != null && parts.length > 0)
                        Ticker.LOADING_DATA = true;
                        int position = 0;
                        if (Ticker.FIRST_LINE)
                             // INDEX + ITEM NAME + VALUE + CHANGE
                             for (int i = 0; i < parts.length; i += 4)
                                  //System.out.println("FIRST LINE PARTS LENGTH : " + parts.length + " i = " + i);
                                  if (parts.length < i + 4)
                                       break;
                                  if(parts[i + 3].equals("SCO"))
                                       DisplayItem displayItemText = new DisplayItem();
                                       displayItemText.setText(parts[i + 1]); // ITEM NAME
                                       if(parts[i].equals("A1")){displayItemText.setItemIndex(9001);}
                                       else if(parts[i].equals("A2")){displayItemText.setItemIndex(9002);}
                                       else if(parts[i].equals("A3")){displayItemText.setItemIndex(9003);}
                                       else if(parts[i].equals("A4")){displayItemText.setItemIndex(9004);}
                                       else if(parts[i].equals("A5")){displayItemText.setItemIndex(9005);}
                                       else if(parts[i].equals("A6")){displayItemText.setItemIndex(9006);}
                                       tickerTape.AddDisplayItem(displayItemText, " XXXXX", position);
                                       position++;
                                       DisplayItem displayItemValue = new DisplayItem();
                                       displayItemValue.setText(parts[i + 2]); // ITEM VALUE
                                       if(parts[i].equals("A1")){displayItemText.setItemIndex(9001);}
                                       else if(parts[i].equals("A2")){displayItemText.setItemIndex(9002);}
                                       else if(parts[i].equals("A3")){displayItemText.setItemIndex(9003);}
                                       else if(parts[i].equals("A4")){displayItemText.setItemIndex(9004);}
                                       else if(parts[i].equals("A5")){displayItemText.setItemIndex(9005);}
                                       else if(parts[i].equals("A6")){displayItemText.setItemIndex(9006);}
                                       tickerTape.AddDisplayItem(displayIt

    Two bits of advice:
    1) Pare down your code to no more than 30-50 lines. Enough to compile and show the problem, but not so much as to make our eyes bleed, and for no one to want to read your post or help you.
    2) You would be wise not to state that your problem is "urgent". Even if it is urgent to you, realize that it is not urgent to us. Many here take offense to this as it implies to them that a) the poster thinks that his post is more important than everyone else's, and b) that the poster wants to put pressure on the volunteers who come here to help on their own free time. Just a friendly word of advice.
    I'll be happy to help when you've posted a reasonable amount of code. Good luck!

  • Latest Update was unsuccessful

    Below error messagewas shown:
    Adobe Photoshop 13.0.5
    Installation failed. Error Code: U44M1P7

    Hi there -
    Below is a screenshot from the following Adobe help document: Installation failed. Error U44M1P7 | Updates
    For additional help, please refer to the Creative Cloud forum.
    Cheers,
    Kendall

  • Current Movie, TV Show, and Music Offers!

    Hey everyone!
    Thanks for stopping by the Music & Movies board here on Best Buy's Community Forum! If you'd like to check out all of the current promotions and offers for these categories, check out the following links:
    Movies & TV Shows: DVD and Blu-ray
    Music: CDs, Records & Music DVDs
    From here, you can see our current offers, information on new releases and pre-orders, as well as featured titles. Feel free to use this board to post any questions you may have about what you find here, as well as to talk about your favoirite movies and music.
    I look forward to hearing from you!
    Matt|Senior Social Media Specialist | Best Buy® Corporate
     Private Message

    Wait - I meant to say that on the older machine the newly imported move shows up correctly using Front Row, not in iTunes.
    Besides, i just noticed that my my hardware profile is not up to date - I am referring to an iMac running MountainLion 10.8.2

  • Mail app preventing mac from shutting down

    Trying to shut down mac book pro. Just imported all mail into mail app. Error message stating mail canceled shut down and to quit mail and try again. Did that, same error message

    Was your import completed? Do you have any other ongoing Mail activity? Check what the Mail process is doing:
    Open Activity Monitor in the Utilities folder.  Select All Processes from the Processes dropdown menu.  Click twice on the CPU% column header to display in descending order.  If you find a process using a large amount of CPU time (>=70,) then select the process and click on the Quit icon in the toolbar.  Click on the Force Quit button to kill the process.  See if that helps.  Be sure to note the name of the runaway process so you can track down the cause of the problem.
    I would suggest as a start to move the com.apple.mail cache folder to the Trash, but do not Empty it. You will find it in one of the Cache folders in the /Library/ or /Home/Library/ folder unless you are running Mavericks.

Maybe you are looking for