#SCRIPT:  /home/jbf/ct/hudson/script/test071//testJunoPolarPlotEvents.jy
print '*** testJunoPolarPlotEvents ***'
#/usr/local/jdk1.8/bin/java -Djava.awt.headless=true -cp /home/jbf/local/autoplot/autoplot.jar org.virbo.autoplot.AutoplotUI --testPngFilename=test_071_001 --script=/home/jbf/ct/hudson/script/test071//testJunoPolarPlotEvents.jy
from org.netbeans.jemmy.operators import JFrameOperator, JLabelOperator, JTextFieldOperator, JButtonOperator, DialogOperator

from org.netbeans.jemmy import QueueTool
from org.autoplot.util.jemmy import RegexComponentChooser
from org.virbo.autoplot import AutoplotUI

from org.das2.util.filesystem import KeyChain

from java.io import File
print 'write file to ', File('.').getAbsolutePath()

sleep(100)
from org.das2.util import CredentialsManager
cm = CredentialsManager.getMannager();
sLocId = 'http://jupiter.physics.uiowa.edu/das/server|Juno Magnetospheric Working Group'
def readPass(f):
    o= open(f,'r')
    s= o.readlines()
    return s[0].strip()
junoPass= readPass( '/home/jbf/ct/hudson/script/test071/junoPass.txt' )
cm.setHttpBasicHashRaw( sLocId, junoPass ) 

app= getViewWindow()
mainFrame = JFrameOperator(app)

uri= "http://www-pw.physics.uiowa.edu/~jbf/juno/u/bill/20170224/junoPolarPlotEvents.jy?pole='N'&orbitNumber=6&param='B'&freqs=''&reduce='F'&rlim=10"
JTextFieldOperator( app.getDataSetSelector().getEditor() ).setText(uri)
JButtonOperator( app.getDataSetSelector().getGoButton() ).push()

sleep(1000)

waitUntilIdle()

frame = DialogOperator( RegexComponentChooser( "Run Script.*") )
QueueTool().waitEmpty(100)

JButtonOperator( frame, "OK" ).push()

sleep(1000)
waitUntilIdle()

sleep(20000) # wait for spectrogram to load.

from java.awt import Robot
from java.awt.event import InputEvent

c= dom.canvases[0].controller.dasCanvas
canvasPos= { 'x':c.getLocationOnScreen().x, 'y':c.getLocationOnScreen().y }

print canvasPos
print 'pe0: ', dom.plotElements[0].controller.renderer.dataSet
print 'pe1: ', dom.plotElements[1].controller.renderer.dataSet
   
r= Robot()
r.mouseMove(canvasPos['x']+100,canvasPos['y']+100)
sleep(500)
r.mousePress(InputEvent.BUTTON1_MASK)
sleep(500)
for i in xrange(0,100,5):
   r.mouseMove(canvasPos['x']+100+i,canvasPos['y']+100)
   sleep(10)
sleep(100)
r.mouseRelease(InputEvent.BUTTON1_MASK)

sleep(1000)
frame = DialogOperator( RegexComponentChooser( "options") )
JButtonOperator( frame, "OK" ).push()

waitUntilIdle()

r.mouseMove(canvasPos['x']+400,canvasPos['y']+400)
sleep(100)
r.mousePress(InputEvent.BUTTON1_MASK)
sleep(100)
dom.canvases[0].controller.dasCanvas.writeToPng('testJunoPolarPlotEvents.png')

print 'okay'
sleep(1000)

from java.lang import System
System.exit(0)

