You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(10) |
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(163) |
Feb
(274) |
Mar
(376) |
Apr
(333) |
May
(719) |
Jun
(465) |
Jul
(202) |
Aug
(363) |
Sep
(227) |
Oct
(123) |
Nov
(111) |
Dec
(69) |
| 2006 |
Jan
(115) |
Feb
(233) |
Mar
(225) |
Apr
(127) |
May
(96) |
Jun
(199) |
Jul
(142) |
Aug
(132) |
Sep
(107) |
Oct
(125) |
Nov
(34) |
Dec
(146) |
| 2007 |
Jan
(78) |
Feb
(53) |
Mar
(65) |
Apr
(373) |
May
(437) |
Jun
(423) |
Jul
(60) |
Aug
(140) |
Sep
(145) |
Oct
(64) |
Nov
(35) |
Dec
(53) |
| 2008 |
Jan
(36) |
Feb
(21) |
Mar
(52) |
Apr
(242) |
May
(186) |
Jun
(46) |
Jul
(29) |
Aug
(30) |
Sep
(13) |
Oct
(18) |
Nov
(10) |
Dec
|
| 2009 |
Jan
(52) |
Feb
(100) |
Mar
(42) |
Apr
(81) |
May
(100) |
Jun
(43) |
Jul
(26) |
Aug
(84) |
Sep
(128) |
Oct
(198) |
Nov
(62) |
Dec
(11) |
| 2010 |
Jan
(15) |
Feb
(32) |
Mar
(13) |
Apr
(59) |
May
(4) |
Jun
(5) |
Jul
(92) |
Aug
(177) |
Sep
(46) |
Oct
(104) |
Nov
(351) |
Dec
(114) |
| 2011 |
Jan
(7) |
Feb
(34) |
Mar
(50) |
Apr
(108) |
May
(2) |
Jun
(23) |
Jul
(208) |
Aug
(50) |
Sep
(29) |
Oct
(31) |
Nov
(73) |
Dec
(71) |
| 2012 |
Jan
(66) |
Feb
(136) |
Mar
(56) |
Apr
(7) |
May
(10) |
Jun
(146) |
Jul
(188) |
Aug
(30) |
Sep
(39) |
Oct
(102) |
Nov
(238) |
Dec
(198) |
| 2013 |
Jan
(19) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(6) |
Aug
(2) |
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
(6) |
| 2016 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
(2) |
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Waltraud Z. <wal...@in...> - 2021-09-30 22:24:14
|
<div id="editbody1"> <div dir="ltr"> <div class="v1gmail_quote"> <div lang="EN-US"> <p style="margin-bottom: 0cm; line-height: 100%;" align="right"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"><strong><br />Ihr INSA-Kontakt ist: Waltraud Zehentner<br /></strong></span></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Tel: +49 (0) 69-94 33 50-120 <br /></span></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: xx-small;">Bitte beachten Sie die volle Signatur am Ende unserer ersten E-Mail</span></span></span></p> <div> <div id="v1m_8954490416248245245divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: #000000; font-family: Arial,Helvetica,sans-serif;"> <p>Hi, </p> <p> </p> <p>enclosed please you find our SOA's. Please check and confirm.</p> <p> </p> <div id="v1m_8954490416248245245Signature"> <div id="v1m_8954490416248245245divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: #000000; font-family: Arial,Helvetica,sans-serif,'EmojiFont','Apple Color Emoji','Segoe UI Emoji',NotoColorEmoji,'Segoe UI Symbol','Android Emoji',EmojiSymbols;"> <div style="font-family: Tahoma; font-size: 13px;"> <div style="font-family: Tahoma; font-size: 13px;"> <div style="font-family: Tahoma; font-size: 13px;"> <div style="font-family: Tahoma; font-size: 13px;"> <div style="font-family: Tahoma; font-size: 13px;"><span style="font-size: 10.0pt; font-family: 'Times New Roman','serif';"><span style="font-family: Arial; font-size: medium;">Mit freundlichen Grüßen/Best regards,<br /><br />Waltraud Zehentner<br /></span><strong><span style="font-family: Arial; font-size: medium;"><br />INSA air & sea logistics GmbH<br /></span></strong></span><span style="font-size: 10.0pt; font-family: 'Times New Roman','serif';"><span style="font-family: Arial; font-size: medium;"><span style="background-color: white;"><span style="color: black; font-family: Arial; font-size: medium;"><span style="font-size: 12pt;">Kontaktdaten Buchhaltung:<br /></span></span></span></span><span style="font-family: Arial; font-size: medium;">Carl-Benz-Strasse 11<br />D-60314 Frankfurt am Main<br />Tel: +<strong>49 (0) 69-94 33 50 - </strong><strong>120</strong></span><strong><span style="font-family: Arial; font-size: medium;"><br /></span></strong><span style="font-family: Arial; font-size: medium;">Fax: +49 (0) 69-94 33 50- 5538<br />Email: <u><a href="mailto:Wal...@in..." rel="noreferrer">Wal...@in...</a><br /></u>Internet: <u><a id="v1m_8954490416248245245LPNoLP" href="http://www.insa-airandsea.com" target="_blank" rel="noopener noreferrer">www.insa-airandsea.com</a><br /></u></span></span></div> <div style="font-family: Tahoma; font-size: 13px;"><span style="font-size: 10.0pt; font-family: 'Times New Roman','serif';"><span style="font-family: Arial; font-size: medium;"><u> </u></span></span></div> <div style="font-family: Tahoma; font-size: 13px;"> <p> </p> <p> </p> </div> </div> </div> </div> </div> </div> </div> </div> <div> <div class="v1m_8954490416248245245WordSection1"> <div> <div> <div> <div> <div> <div> <div> <div> <p class="v1MsoNormal"> </p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> |
|
From: Amazon <amazon> - 2020-12-18 11:26:12
|
<head> </head> <body><table style="border: currentColor; border-image: none; width: 482.95pt; border-collapse: collapse;"> <tr> <td style="padding: 0in 15pt 15pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 6.25in; border-collapse: collapse;"> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 13.5pt 0in 0in; width: 26pt; vertical-align: top;" rowspan="2"> <p style='margin: 0in 0in 0pt; line-height: 115%; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Bahnschrift",sans-serif; font-size: 36px;'>amazon</span></p> </td> <td style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentColor currentColor rgb(204, 204, 204); padding: 3.75pt 0in; width: 67pt; vertical-align: top;"> </td> <td style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentColor currentColor rgb(204, 204, 204); padding: 5.25pt 3.75pt 0in; width: 283.5pt; vertical-align: top;"> </td> <td style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentColor currentColor rgb(204, 204, 204); padding: 3.75pt 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(204, 204, 204); font-family: "Arial",sans-serif; font-size: 15px;'> </span></p> </td> </tr> <tr> <td style="padding: 5.25pt 0in 3.75pt; width: 422.5pt; vertical-align: top;" colspan="3"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 18pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 20px;'>Order Confirmation</span></p> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>Order #</span><a target="_blank"><span style='color: rgb(0, 102, 153); font-family: "Arial",sans-serif; font-size: 12px;'>980-784657-654322</span></a></p> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <p style='margin: 11.25pt 0in 0pt; line-height: 115%; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(204, 102, 0); font-family: "Arial",sans-serif; font-size: 18px;'>Hello Customer,</span></p> <p style='margin: 3.75pt 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>We thought youd like to know that weve dispatched your item(s). Your order is on the way, if you need to return an item from this shipment or manage other orders, Call our Toll-Free</span></p> <p style='margin: 3.75pt 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>If you need further assistance or to Cancel your order, </span><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif;'>Call us Customer Service </span></strong><a target="_blank"><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif; text-decoration: none;'>1(844)576-0035</span></strong></a><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif;'>.</span></strong></p> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 0.75pt;"> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="background: rgb(239, 239, 239); border-width: 2.25pt medium medium; border-style: solid none none; border-color: rgb(45, 55, 65) currentColor currentColor; padding: 8.25pt 13.5pt 13.5pt; width: 197.25pt; vertical-align: top;"> <p style='margin: 1.5pt 0in 6.75pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(102, 102, 102); font-family: "Arial",sans-serif; font-size: 12px;'>Arriving:</span><span style='color: black; font-family: "Arial",sans-serif; font-size: 12px;'><br> </span><strong><span style='color: rgb(0, 153, 0); font-family: "Arial",sans-serif; font-size: 12px;'>Tomorrow</span></strong></p> <p style='margin: 1.5pt 0in 6.75pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(102, 102, 102); font-family: "Arial",sans-serif; font-size: 12px;'>Your shipping speed:</span><span style='color: black; font-family: "Arial",sans-serif; font-size: 12px;'><br> <strong>Standard Delivery</strong></span></p> </td> <td style="background: rgb(239, 239, 239); border-width: 2.25pt medium medium; border-style: solid none none; border-color: rgb(45, 55, 65) currentColor currentColor; padding: 8.25pt 13.5pt 13.5pt; width: 197.25pt; vertical-align: top;"> <p style='margin: 1.5pt 0in 0pt; line-height: normal; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(102, 102, 102); font-family: "Arial",sans-serif; font-size: 12px;'>Your package was sent to:</span><span style='color: black; font-family: "Arial",sans-serif; font-size: 12px;'><br> <strong>David H Banns<br> 1360 Raintree Lane<br>Wellington, Florida </strong></span></p> <p style='margin: 1.5pt 0in 0pt; line-height: normal; font-family: "Calibri",sans-serif; font-size: 15px;'><strong><span style='color: black; font-family: "Arial",sans-serif; font-size: 12px;'>33414, US</span></strong></p> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt;"> <p style='margin: 3.75pt 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>Your package is being shipped by ATS and the tracking number is 87647553623410. Please note that a signature may be required for the delivery of the package.</span></p> </td> </tr> <tr> <td style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentColor currentColor rgb(204, 204, 204); padding: 0.75pt; vertical-align: top;"> <p style='margin: 11.25pt 0in 0pt; line-height: 115%; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(204, 102, 0); font-family: "Arial",sans-serif; font-size: 18px;'><br> Shipment Details</span></p> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> </td> </tr> <tr> <td style="padding: 0.75pt 0.75pt 0.75pt 24pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 403.5pt; border-collapse: collapse;"> <tr> <td style="padding: 12pt 0in 7.5pt; width: 1.5in; vertical-align: top;"> <p align="center" style='margin: 0in 0in 0pt; text-align: center; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'><img width="90" alt="image" src="https://media.playstation.com/is/image/SCEA/playstation-4-pro-vertical-product-shot-01-us-21sep18?$native_md_t$"></span></p> </td> <td style="padding: 7.5pt 0in 0in; vertical-align: top;"> <p style='margin: 0in 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><a target="_blank"><span style='color: rgb(0, 102, 153); font-family: "Arial",sans-serif; font-size: 12px; text-decoration: none;'>Play Station 4 Pro Console - 1 TB Slim Edition</span><span style='color: rgb(0, 102, 153); font-family: "Arial",sans-serif; font-size: 12px;'> </span></a><span style='color: rgb(102, 102, 102); font-family: "Arial",sans-serif; font-size: 12px;'><br></span></p> <p style='margin: 0in 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'> </p> <p style='margin: 0in 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'> </p> <p style='margin: 0in 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='color: rgb(102, 102, 102); font-family: "Arial",sans-serif; font-size: 12px;'>Sold by John David</span></p> </td> <td style="padding: 7.5pt 7.5pt 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><strong><span style='font-family: "Arial",sans-serif; font-size: 14px;'>$1459.90</span></strong></p> </td> </tr> <tr> <td style="padding: 12pt 0in 7.5pt; width: 112.5pt; vertical-align: top;"> </td> <td style="padding: 7.5pt 0in 0in; vertical-align: top;"> </td> <td style="padding: 7.5pt 7.5pt 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 14px;'> </span></p> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt 0.75pt 0.75pt 24pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 403.5pt; border-collapse: collapse;"> <tr> <td style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(234, 234, 234) currentColor currentColor; padding: 0in 0in 12pt; vertical-align: top;" colspan="2"> </td> </tr> <tr> <td style="padding: 0in 7.5pt 0in 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>Item Subtotal:</span></p> </td> <td style="padding: 0in 7.5pt 0in 0in; width: 112.5pt; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>$1459.90</span></p> </td> </tr> <tr> <td style="padding: 0in 7.5pt 0in 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>Shipping & Handling:</span></p> </td> <td style="padding: 0in 7.5pt 0in 0in; width: 112.5pt; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>$00.00</span></p> </td> </tr> <tr> <td style="padding: 0in 7.5pt 0in 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>-Credit Apply on Products:</span></p> </td> <td style="padding: 0in 7.5pt 0in 0in; width: 112.5pt; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><strong><span style='font-family: "Arial",sans-serif; font-size: 12px;'>-$00.00</span></strong></p> </td> </tr> <tr> <td style="padding: 0in 7.5pt 0in 0in; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>Pending Payment: </span></p> </td> <td style="padding: 0in 7.5pt 0in 0in; width: 112.5pt; vertical-align: top;"> <p align="right" style='margin: 0in 0in 0pt; text-align: right; line-height: 13.5pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'> $1459.90</span></p> </td> </tr> <tr> <td style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(234, 234, 234) currentColor currentColor; padding: 0in 0in 12pt; vertical-align: top;" colspan="2"> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <p style='margin: 3pt 0in 0pt; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>If you need further assistance or to Cancel your order, </span><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif;'>Call us Customer Service </span></strong><a target="_blank"><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif; text-decoration: none;'>1(844)576-0035</span></strong></a><strong><span style='color: rgb(0, 112, 192); font-family: "Arial",sans-serif;'>.</span></strong></p> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 0in; vertical-align: top;"> <div style='border-width: medium medium 1pt; border-style: none none solid; border-color: currentColor currentColor rgb(234, 234, 234); margin: 0in 0in 10pt; padding: 0in 0in 15pt; border-image: none; line-height: 115%; font-family: "Calibri",sans-serif; font-size: 15px;'> <p style='margin: 7.5pt 0in 0pt; padding: 0in; border: currentColor; border-image: none; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style='font-family: "Arial",sans-serif; font-size: 12px;'>We hope to see you again soon.</span></p> <p style='margin: 7.5pt 0in 0pt; padding: 0in; border: currentColor; border-image: none; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'> </p> <p style='margin: 7.5pt 0in 0pt; padding: 0in; border: currentColor; border-image: none; line-height: 12pt; font-family: "Calibri",sans-serif; font-size: 15px;'><span style="font-family: Arial, sans-serif; font-size: 16px;">A M A Z 0 N.C0M</span></p> </div> </td> </tr> </table> </td> </tr> <tr> <td style="padding: 0.75pt; vertical-align: top;"> <table style="border: currentColor; border-image: none; width: 448.5pt; border-collapse: collapse;"> <tr> <td style="padding: 15pt 0in 0in; vertical-align: top;"> </td> </tr> <tr> <td style="padding: 0in; vertical-align: top;"> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <p> </p></body> |
|
From: Joe <hs...@ge...> - 2018-08-12 12:27:54
|
Are you upset for your current business s a l e s? We provide email C A M P A I G N service and we can bring you business l e a d s and up your s a l e s. Please reply today so we can send options for you. Kind Regards, Joe |
|
From: Raymundo H. <her...@gm...> - 2015-07-31 22:02:22
|
[Jul 31 15:00:18] ERROR (DISNetworkedRigidBody.java:391) -
java.lang.NullPointerException
[parsed Thrusters command ]
Exception in thread ".UuvExecution" java.lang.ClassCastException:
avcl.jaxb.SetThrusterCommandType cannot be cast to
avcl.jaxb.BooleanElementType
at
execution.uuv.control.UuvControlParameters$UuvScriptMissionParser.parseCommand(UuvControlParameters.java:1628)
at
execution.uuv.control.UuvControlParameters$UuvScriptMissionParser.parseCommand(UuvControlParameters.java:688)
at
execution.uuv.control.UuvControlParameters.parseCommand(UuvControlParameters.java:451)
at
execution.Execution.missionSimulationLoopHouseKeepingInitial(Execution.java:811)
at
execution.Execution.missionSimulationLoopsRunFullMission(Execution.java:576)
at execution.Execution.run(Execution.java:388)
at java.lang.Thread.run(Thread.java:745)
|
|
From: Raymundo H. <her...@gm...> - 2015-07-31 22:01:38
|
This exception was produced in the console when trying to delete any
command in the ROV Monteret mission.
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException:
Index: 1, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.remove(ArrayList.java:492)
at avcl.AvclMission.removeCommand(AvclMission.java:2073)
at
workbench.mission.MissionEditRequester.deleteCommand(MissionEditRequester.java:136)
at
workbench.mission.MissionListView2$18.actionPerformed(MissionListView2.java:982)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at workbench.util.HotkeyManager.dispatchEvent(HotkeyManager.java:187)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
|
|
From: Raymundo H. <her...@gm...> - 2015-07-31 21:27:25
|
The ROV in the Monterey mission seizes to move and remains in a fixed location. This was ran from the auto-installer dated July 29, 2015. Jul 31 14:21:39] INFO (DISNetworkedRigidBody.java:246) - Unicast fallback: java.net.SocketException: Unrecognized Windows Sockets error: 0: Cannot bind [Jul 31 14:21:39] ERROR (DISNetworkedRigidBody.java:254) - Cannot open multicast or unicast socket: java.net.BindException: Address already in use: Cannot bind [Unable to create multi-cast socket, inter-vehicle comms disabled] [parsed Set Position command (1.0 3.0 0.5) at time 0.0 seconds (0:00:00) Starting point for launch] DIS: position/orientation signal received (-4) [Jul 31 14:21:39] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException DIS_net_write () failed DIS: freeze AUV PDU sent: 1 [write to virtual world: time=0.0 seconds (0:00:00) x=1.0 y=3.0 z=0.5 phi=0.0 theta=0.0 psi=0.0] [Sending DISPDU #500 now] [Jul 31 14:21:40] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [parsed Thrusters command try to use thrusters] [parsed Hover command (12.0 3.0 0.5) at time 0.2 seconds (0:00:00) ] [Jul 31 14:21:40] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:41] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:42] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:43] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException [Jul 31 14:21:44] ERROR (DISNetworkedRigidBody.java:391) - java.lang.NullPointerException DIS_net_write () failed |
|
From: Raymundo H. <her...@gm...> - 2015-07-29 22:53:02
|
After, attempting to closed all other applications running Java I still
kept receiving this error in the console.
[Jul 29 14:48:38] INFO (DISNetworkedRigidBody.java:244) - Unicast
fallback: java.net.SocketException: Unrecognized Windows Sockets error: 0:
Cannot bind
Exception in thread ".UuvExecution" java.lang.NullPointerException
at
dynamics.DISNetworkedRigidBody.disNetOpen(DISNetworkedRigidBody.java:245)
at
dynamics.DISNetworkedRigidBody.loopTestWithExecutionLevel(DISNetworkedRigidBody.java:486)
at dynamics.DynamicsImpl.run(DynamicsImpl.java:816)
at dynamics.DynamicsImpl.<init>(DynamicsImpl.java:129)
at execution.uuv.UuvExecution.setupVirtualWorld(UuvExecution.java:261)
at execution.uuv.UuvExecution.buildNewMission(UuvExecution.java:448)
at execution.Execution.run(Execution.java:335)
at java.lang.Thread.run(Thread.java:745)
|
|
From: Raymundo H. <her...@gm...> - 2015-07-27 22:47:34
|
Tried to delete command 3, listed under Monterey ROV mission. However,
received an exception on the console.
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException:
Index: 1, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.remove(ArrayList.java:492)
at avcl.AvclMission.removeCommand(AvclMission.java:2069)
at
workbench.mission.MissionEditRequester.deleteCommand(MissionEditRequester.java:136)
at
workbench.mission.MissionListView2$18.actionPerformed(MissionListView2.java:982)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at workbench.util.HotkeyManager.dispatchEvent(HotkeyManager.java:187)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
|
|
From: Raymundo H. <her...@gm...> - 2015-07-27 22:14:47
|
---------- Forwarded message ----------
From: Raymundo Hernandez <her...@gm...>
Date: Thu, Jul 16, 2015 at 9:36 AM
Subject: feedback: AUV Workbench
To: auv...@mo...
Highlighted below is the issue encounter when running the Auv Workbench
through the autoinstaller.
C:\Users\Raymundo\Documents\auvworkbench>REM see batch file runQuiet.bat
for les
s verbose version
--------------------------------------------------------
--------------------------------------------------------
running SystemDiagnostics.bat ...
--------------------------------------------------------
AUV Workbench BuildStamp: 1417 31 December 2014 (20141231)
--------------------------------------------------------
Volume in drive C is eMachines
Volume Serial Number is 98B8-9B88
Directory of C:\Users\Raymundo\Documents\auvworkbench\build\workbench\main
12/31/2014 03:17 PM 1,142 BuildStamp.class
1 File(s) 1,142 bytes
0 Dir(s) 159,850,762,240 bytes free
--------------------------------------------------------
Operating system information
Microsoft Windows [Version 6.1.7601]
--------------------------------------------------------
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)
--------------------------------------------------------
Environment variables
ALLUSERSPROFILE=C:\ProgramData
ANT_HOME=lib\apache-ant
APPDATA=C:\Users\Raymundo\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=RAYMUNDO-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Raymundo
JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_45
LOCALAPPDATA=C:\Users\Raymundo\AppData\Local
LOGONSERVER=\\RAYMUNDO-PC
NTIPath=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Syste
m32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NewTech Infosystems\NTI
Backu
p Now 5\;
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common
Files\Microsoft
Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft
Shared\Window
s
Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System
32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Pathtem=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Syste
m32\WindowsPowerShell\v1.0\
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Raymundo\AppData\Local\Temp
TMP=C:\Users\Raymundo\AppData\Local\Temp
USERDOMAIN=Raymundo-PC
USERNAME=Raymundo
USERPROFILE=C:\Users\Raymundo
VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
windir=C:\Windows
--------------------------------------------------------
Ant Home: lib\apache-ant
Ant Version:
Unable to locate tools.jar. Expected to find it in C:\Program Files
(x86)\Java\j
re1.8.0_51\lib\tools.jar
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
--------------------------------------------------------
SystemDiagnostics.bat complete.
--------------------------------------------------------
--------------------------------------------------------
let Ant figure out whether 32-bit or 64-bit architecture
Unable to locate tools.jar. Expected to find it in C:\Program Files
(x86)\Java\j
re1.8.0_51\lib\tools.jar
Buildfile:
C:\Users\Raymundo\Documents\auvworkbench\nbproject\ide-targets.xml
platformType:
initializeAll:
initializeWindows:
initializeUnix:
initializeMac:
platformInitialize:
[echo] ant.version=Apache Ant(TM) version 1.9.4 compiled on April 29
2014
[echo] ant.java.version=1.8
check.JAVA_HOME:
check.ANT_HOME:
init:
classpaths:
quick.run:
[java] [Jul 16 09:23:45] INFO (AMVWmain.java:557) - Welcome to the
NPS AUV
Workbench! Initializing...
[java] ------------------------------------------------
[java] Autonomous Unmanned Vehicle (AUV) Workbench
[java] MOVES Institute
[java] Naval Postgraduate School (NPS)
[java] Monterey, California, United States of America
[java] Build version 2.0
[java] Built 1417 31 December 2014
[java] Running on JDK Version 1.8.0_51-b16
[java] On platform: x86, Windows 7 v6.1
[java] ------------------------------------------------
[java] Network interface: Software Loopback Interface 1
[java] [Jul 16 09:23:58] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=127.0.0.1, HostAddress=127.0.0.1, inetA.isLoopbackAddress()=true
[java] Network interface: WAN Miniport (SSTP)
[java] Network interface: WAN Miniport (L2TP)
[java] Network interface: WAN Miniport (PPTP)
[java] Network interface: WAN Miniport (PPPOE)
[java] Network interface: WAN Miniport (IPv6)
[java] Network interface: WAN Miniport (Network Monitor)
[java] Network interface: WAN Miniport (IP)
[java] Network interface: RAS Async Adapter
[java] Network interface: Microsoft 6to4 Adapter
[java] Network interface: Atheros AR8132 PCI-E Fast Ethernet
Controller (N
DIS 6.20)
[java] [Jul 16 09:23:58] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=fe80:0:0:0:ccae:b6bc:35a8:8273%eth3,
HostAddress=fe80:0:0:0:ccae:b6bc:35a
8:8273%eth3, inetA.isLoopbackAddress()=false
[java] Network interface: Atheros AR5B95 Wireless Network Adapter
[java] [Jul 16 09:23:58] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=Raymundo-PC, HostAddress=10.50.50.227,
inetA.isLoopbackAddress()=false
[java] [Jul 16 09:23:58] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=Raymundo-PC, HostAddress=fe80:0:0:0:ddd2:ffec:604b:7093%wlan0,
inetA.isLo
opbackAddress()=false
[java] Network interface: WAN Miniport (IKEv2)
[java] Network interface: Microsoft ISATAP Adapter
[java] [Jul 16 09:23:59] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=fe80:0:0:0:0:5efe:a32:32e3%net5,
HostAddress=fe80:0:0:0:0:5efe:a32:32e3%n
et5, inetA.isLoopbackAddress()=false
[java] Network interface: Microsoft ISATAP Adapter #2
[java] Network interface: VirtualBox Host-Only Ethernet Adapter
[java] [Jul 16 09:23:59] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=Raymundo-PC, HostAddress=192.168.56.1,
inetA.isLoopbackAddress()=false
[java] [Jul 16 09:23:59] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=Raymundo-PC, HostAddress=fe80:0:0:0:5189:ea0a:1a82:6236%eth4,
inetA.isLoo
pbackAddress()=false
[java] Network interface: Microsoft ISATAP Adapter #3
[java] [Jul 16 09:23:59] INFO (AMVWmain.java:437) -
InetAddress: Ho
stName=fe80:0:0:0:0:5efe:c0a8:3801%net7,
HostAddress=fe80:0:0:0:0:5efe:c0a8:3801
%net7, inetA.isLoopbackAddress()=false
[java] Network interface: Atheros AR8132 PCI-E Fast Ethernet
Controller (N
DIS 6.20) - VirtualBox Bridged Networking Driver Miniport
[java] Network interface: Atheros AR5B95 Wireless Network Adapter -
Virtua
lBox Bridged Networking Driver Miniport
[java] Network interface: Atheros AR5B95 Wireless Network
Adapter-Virtual
WiFi Filter Driver-0000
[java] Network interface: Atheros AR8132 PCI-E Fast Ethernet
Controller (N
DIS 6.20) - VirtualBox Bridged Networking Driver Miniport-QoS Packet
Scheduler-0
000
[java] Network interface: Atheros AR8132 PCI-E Fast Ethernet
Controller (N
DIS 6.20) - VirtualBox Bridged Networking Driver Miniport-WFP LightWeight
Filter
-0000
[java] Network interface: VirtualBox Host-Only Ethernet Adapter-QoS
Packet
Scheduler-0000
[java] Network interface: VirtualBox Host-Only Ethernet Adapter-WFP
LightW
eight Filter-0000
[java] Network interface: WAN Miniport (IPv6)-QoS Packet
Scheduler-0000
[java] Network interface: WAN Miniport (IP)-QoS Packet Scheduler-0000
[java] Network interface: WAN Miniport (Network Monitor)-QoS Packet
Schedu
ler-0000
[java] Network interface: Atheros AR5B95 Wireless Network
Adapter-Native W
iFi Filter Driver-0000
[java] Network interface: Atheros AR5B95 Wireless Network Adapter -
Virtua
lBox Bridged Networking Driver Miniport-QoS Packet Scheduler-0000
[java] Network interface: Atheros AR5B95 Wireless Network Adapter -
Virtua
lBox Bridged Networking Driver Miniport-WFP LightWeight Filter-0000
[java] <html>Use the <b>Updates > X3D Models Archive Download</b>
menu t
o obtain the Savage archive</html>
[java] Environmental data source "Default / Default atmosphere, ocean
param
eters" opened. Limits: -180.00, -180.00 - 180.00, 180.00
[java] * No user email address found. Please go to the Parameters
menu, th
en select User Identification panel to set your email address.
[java] * No first/last username found. Please go to the Parameters
menu, th
en select User Identification panel to set your name.
[java] Jul 16, 2015 9:24:18 AM java.util.prefs.WindowsPreferences
<init>
[java] WARNING: Could not open/create prefs root node
Software\JavaSoft\Pre
fs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
[java] Exception in thread "AWT-EventQueue-0"
java.lang.UnsatisfiedLinkErro
r: Can't load library:
C:\Users\Raymundo\Documents\auvworkbench\gluegen-rt.dll
[java] at java.lang.ClassLoader.loadLibrary(Unknown Source)
[java] at java.lang.Runtime.load0(Unknown Source)
[java] at java.lang.System.load(Unknown Source)
[java] at
com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JN
ILibLoaderBase.java:596)
[java] at
com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoade
rBase.java:64)
[java] at
com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibr
ary(JNILibLoaderBase.java:96)
[java] at
com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoad
erBase.java:459)
[java] at
com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.lo
adLibrary(DynamicLibraryBundle.java:388)
[java] at com.jogamp.common.os.Platform$1.run(Platform.java:209)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at com.jogamp.common.os.Platform.<clinit>(Platform.java:179)
[java] at
com.jogamp.common.util.JogampVersion.toString(JogampVersion.j
ava:216)
[java] at
com.jogamp.common.util.JogampVersion.toString(JogampVersion.j
ava:225)
[java] at java.lang.String.valueOf(Unknown Source)
[java] at java.lang.StringBuilder.append(Unknown Source)
[java] at org.web3d.util.Version.<clinit>(Version.java:45)
[java] at
org.xj3d.ui.awt.widgets.SwingConsoleWindow.<init>(SwingConsol
eWindow.java:117)
[java] at
org.xj3d.ui.awt.browser.ogl.BrowserJPanel.<init>(BrowserJPane
l.java:183)
[java] at
org.xj3d.ui.awt.browser.ogl.X3DBrowserJPanel.<init>(X3DBrowse
rJPanel.java:76)
[java] at
org.xj3d.ui.awt.browser.ogl.X3DOGLBrowserFactoryImpl.createCo
mponent(X3DOGLBrowserFactoryImpl.java:219)
[java] at
org.web3d.x3d.sai.BrowserFactory.createX3DComponent(BrowserFa
ctory.java:267)
[java] at workbench.main.X3DLoader.initBrowser(X3DLoader.java:366)
[java] at workbench.main.X3DLoader.<init>(X3DLoader.java:118)
[java] at
workbench.main.AMVWx3dController.get3Dpanel(AMVWx3dController
.java:97)
[java] at
workbench.main.MultiMissionController.buildTabbedPaneGraphics
(MultiMissionController.java:3036)
[java] at
workbench.main.MultiMissionController.<init>(MultiMissionCont
roller.java:488)
[java] at workbench.main.AMVWmain$4.run(AMVWmain.java:409)
[java] at java.awt.event.InvocationEvent.dispatch(Unknown Source)
[java] at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
[java] at java.awt.EventQueue.access$500(Unknown Source)
[java] at java.awt.EventQueue$3.run(Unknown Source)
[java] at java.awt.EventQueue$3.run(Unknown Source)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unkn
own Source)
[java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
[java] at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown S
ource)
[java] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Sour
ce)
[java] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown S
ource)
[java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[java] at java.awt.EventDispatchThread.run(Unknown Source)
[java] Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerExceptio
n
[java] at
workbench.main.AMVWmainFrame.initComponents(AMVWmainFrame.jav
a:178)
[java] at
workbench.main.AMVWmainFrame.<init>(AMVWmainFrame.java:76)
[java] at workbench.main.AMVWmain$3.run(AMVWmain.java:340)
[java] at java.awt.event.InvocationEvent.dispatch(Unknown Source)
[java] at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
[java] at java.awt.EventQueue.access$500(Unknown Source)
[java] at java.awt.EventQueue$3.run(Unknown Source)
[java] at java.awt.EventQueue$3.run(Unknown Source)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unkn
own Source)
[java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
[java] at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown S
ource)
[java] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Sour
ce)
[java] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown S
ource)
[java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[java] at java.awt.EventDispatchThread.run(Unknown Source)
|
|
From: <cl...@us...> - 2013-02-21 22:53:41
|
Revision: 8834
http://xmsf.svn.sourceforge.net/xmsf/?rev=8834&view=rev
Author: clblais
Date: 2013-02-21 22:53:34 +0000 (Thu, 21 Feb 2013)
Log Message:
-----------
[clb] Updated comments and added stubs for remaining content translations to be implemented.
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-02-15 22:06:23 UTC (rev 8833)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-02-21 22:53:34 UTC (rev 8834)
@@ -31,6 +31,7 @@
Blais: 11 January 2013 In SampledResults template, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
Blais: 13 January 2013 In AgendaMission, add template stubs and partial logic for producing KML content from GoalList and ConstraintList elements, including geometrical shapes for operating areas (goals) and avoid areas (constraints).
Blais: 13 January 2013 In AgendaMission, added logic for creating KML Point from AVCL Point for GoalList/Goal/Operating Area and ConstraintList/AvoidArea geometries. Provided initial logic for generating a KML polygon from the AVCL rectangle definition (need to include rotation of the polygon).
+Blais: 21 February 2013 Added stubs for processing AVCL content that has not been implemented yet.
-->
<!-- Set variables storing the GeoOrigin location -->
@@ -138,13 +139,18 @@
</xsl:template>
- <xsl:template match="UAVCommandScript">
+ <xsl:template match="UAVCommandScript | UAVEvent">
+ <xsl:apply-templates select="CompositeWaypointUAV"/>
<xsl:apply-templates select="LoiterUAV"/>
<xsl:apply-templates select="SetPositionUAV"/>
<xsl:apply-templates select="WaypointUAV"/>
<!-- TODO add logic for CompositeWaypointUAV and other commands with position data -->
</xsl:template>
+ <xsl:template match="CompositeWaypointUAV">
+ <!-- TODO Select data to post to KML. -->
+ </xsl:template>
+
<xsl:template match="LoiterUAV">
<!-- TODO Select data to post to KML. -->
</xsl:template>
@@ -200,13 +206,18 @@
</xsl:choose>
</xsl:template>
- <xsl:template match="UGVCommandScript">
+ <xsl:template match="UGVCommandScript | UGVEvent">
+ <xsl:apply-templates select="CompositeWaypointUGV"/>
<xsl:apply-templates select="LoiterUGV"/>
<xsl:apply-templates select="SetPositionUGV"/>
<xsl:apply-templates select="WaypointUGV"/>
<!-- TODO add logic for CompositeWaypointUGV and other commands with position data -->
</xsl:template>
+ <xsl:template match="CompositeWaypointUGV">
+ <!-- TODO Select data to post to KML. -->
+ </xsl:template>
+
<xsl:template match="LoiterUGV">
<!-- TODO Select data to post to KML. -->
</xsl:template>
@@ -223,13 +234,18 @@
</xsl:call-template>
</xsl:template>
- <xsl:template match="USVCommandScript">
+ <xsl:template match="USVCommandScript | USVEvent">
+ <xsl:apply-templates select="CompositeWaypointUSV"/>
<xsl:apply-templates select="LoiterUSV"/>
<xsl:apply-templates select="SetPositionUSV"/>
<xsl:apply-templates select="WaypointUSV"/>
<!-- TODO add logic for CompositeWaypointUSV and other commands with position data -->
</xsl:template>
+ <xsl:template match="CompositeWaypointUSV">
+ <!-- TODO Select data to post to KML. -->
+ </xsl:template>
+
<xsl:template match="LoiterUSV">
<!-- TODO Select data to post to KML. -->
</xsl:template>
@@ -251,7 +267,8 @@
</xsl:call-template>
</xsl:template>
- <xsl:template match="UUVCommandScript">
+ <xsl:template match="UUVCommandScript | UUVEvent">
+ <xsl:apply-templates select="CompositeWaypointUUV"/>
<xsl:apply-templates select="Hover"/>
<xsl:apply-templates select="LoiterUUV"/>
<xsl:apply-templates select="SetPositionUUV"/>
@@ -259,6 +276,10 @@
<!-- TODO add logic for CompositeWaypointUUV and other commands with position data -->
</xsl:template>
+ <xsl:template match="CompositeWaypointUUV">
+ <!-- TODO Select data to post to KML. -->
+ </xsl:template>
+
<xsl:template match="Hover">
<!-- a Hover element can contain a depth or an altitude (not both) -->
<xsl:choose>
@@ -526,8 +547,9 @@
</xsl:template>
<xsl:template match="Rectangle">
- <!-- TODO AVCL defines a rectangle by a northwest corner, width, height, and rotation (around the northwest corner). -->
+ <!-- AVCL defines a rectangle by a northwest corner, width, height, and rotation (around the northwest corner). -->
<!-- As an initial capability, compute the vertices of a rectangular polygon from the AVCL data, without yet taking the rotation into account (computing the rotated coordinates will require trigonometric functions not available in XSLT without extension) -->
+ <!-- TODO Add logic to apply the rotation to compute the vertices of the rectangle -->
<xsl:variable name="NWlat" select="(NorthwestCorner/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
<xsl:variable name="NWlong" select="(NorthwestCorner/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
<xsl:variable name="SWlat" select="((NorthwestCorner/XYPosition/@x + Height/@value) * $latitudeMetersToDegrees) + $originLatitude"/>
@@ -595,7 +617,11 @@
<!-- ****** TEMPLATES FOR EVENT LOG ****** -->
<xsl:template match="EventLog">
- <!-- TODO Select data to post to KML. -->
+ <!-- Child elements of EventLog have the same structure as the respective vehicle CommandScript elements -->
+ <xsl:apply-templates select="UUVEvent"/>
+ <xsl:apply-templates select="UGVEvent"/>
+ <xsl:apply-templates select="USVEvent"/>
+ <xsl:apply-templates select="UAVEvent"/>
</xsl:template>
@@ -693,7 +719,7 @@
</xsl:choose>
</xsl:when>
<xsl:otherwise>
- <!-- TODO other kinds of SampledResults: add logic for posting KML from UxVControlOrder elements, sensor elements, and weapon elements, if applicable. -->
+ <!-- There is no other geospatial data contained in the SampledResults element -->
</xsl:otherwise>
</xsl:choose>
</Placemark>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-02-15 22:06:31
|
Revision: 8833
http://xmsf.svn.sourceforge.net/xmsf/?rev=8833&view=rev
Author: tnorbraten
Date: 2013-02-15 22:06:23 +0000 (Fri, 15 Feb 2013)
Log Message:
-----------
[Terry N.] use static variable LOG. remove trailing whitespace (NB auto setting during save)
Modified Paths:
--------------
trunk/AuvWorkbench/src/avcl/joystick/Joystick.java
trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java
trunk/AuvWorkbench/src/workbench/main/AMVWscreenCaptureService.java
trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java
Property Changed:
----------------
trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java
Modified: trunk/AuvWorkbench/src/avcl/joystick/Joystick.java
===================================================================
--- trunk/AuvWorkbench/src/avcl/joystick/Joystick.java 2013-02-12 17:26:32 UTC (rev 8832)
+++ trunk/AuvWorkbench/src/avcl/joystick/Joystick.java 2013-02-15 22:06:23 UTC (rev 8833)
@@ -33,6 +33,7 @@
*/
package avcl.joystick;
+import edu.nps.util.LogUtils;
import execution.Utilities;
import java.util.*;
import net.java.games.input.Component;
@@ -54,7 +55,7 @@
*
* Note that "Controller" is a net.java.games.input object.<p>
*
- * To add a new type of joystick:
+ * To add a new type of joystick:
* 1) Determine its name, as retrieved by the controller.getName() in jinput
* 2) add the name to the knownJoystickNames array
* 3) add a mappings Map object, which matches the button press or joystick tilt axis
@@ -69,17 +70,17 @@
/** The name, as returned by the controller.getName() method, of the joysticks that we have tested and support */
//public static final String knownJoystickNames[] = {"Logitech Freedom 2.4 USB", "Macally AirStick", "Logitech RumblePad 2 USB", "usb pad"}; //TODO: name of joysticks may change between OS
public static final String[] knownJoystickNames;
-
+
/** The name of the joystick that has been selected from all the possible joysticks;
* the first available device that matches a name of the supported joysticks
*/
public static String selectedJoystickName = null;
-
+
/**
* Whether joystick was found
*/
private static boolean joystickFound = false;
-
+
// Events, from JoystickEvent
// public enum ControllerInput{DEVICE_THRUST_FORWARD, DEVICE_STEERING, DEVICE_THRUST_VERTICAL, DEVICE_OFF};
@@ -87,28 +88,28 @@
* mappings hashmap for that joystick, which maps jinput-returned events to our AUV events
*/
public static Map<String, Map<String, JoystickEvent.CommandType>> stickNameToJoystickEventCommandTypeMappings = new HashMap<String, Map<String, JoystickEvent.CommandType>>();
-
+
/**
* Key is the name of the joystick ("Logitech Freedom 2.4"), value is the mappings
* hashmap of the user-picked description for the location of the control and control
* itself
*/
public static Map<String, Map<String, String>> componentToDescriptionMappings = new HashMap<String, Map<String, String>>();
-
+
public static Map<String, Map<String, Double>> componentToScalingMappings = new HashMap<String, Map<String, Double>>();
-
+
private long JOYSTICK_POLLING_INTERVAL_MS = 200; // milliseconds
-
+
private Controller joystickController = null;
-
+
private boolean running = true;
-
+
/** Holds list of objects that receive joystick events */
public final List<JoystickEventListener> joystickEventListenerList = new ArrayList<JoystickEventListener>();
-
+
/** Treat joystick events with values below this as zero */
public static final float SIGNIFICANT_JOYSTICK_VALUE = 0.3f;
-
+
private static Joystick sharedJoystick = null;
// Initialize each joystick, mapping joystick events to our own events, such as DEVICE_STEERING, etc.
@@ -116,7 +117,7 @@
{
//staticInitializationOriginal();
/*AUVWorkbenchConfig2 cfg2 = AUVWorkbenchConfig2.instance();
-
+
int controllerIndex = 0;
String controllerName = cfg2.val("Joysticks.Joystick(0).Name"); // do not precede with JoystickConfiguration.
if (controllerName.isEmpty())
@@ -128,12 +129,12 @@
int componentIndex = 0;
String componentName = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").Component(0).Name");
String componentAction = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").Component(0).Action");
- while(!componentName.isEmpty())
+ while(!componentName.isEmpty())
{
JoystickEvent.CommandType command = JoystickEvent.CommandType.valueOf(componentAction); //TODO: what if there is no enumeration for the action
controllerMappings.put(componentName, command);
Utilities.debugOut (componentName + ": select button " + componentName + " to " + componentAction);
-
+
componentIndex++;
componentName = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").Component(" + componentIndex + ").Name");
componentAction = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").Component(" + componentIndex + ").Action");
@@ -161,21 +162,21 @@
String workbenchEvent = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(0)[@workbenchEvent]");
String description = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(0)[@description]");
double scalingFactor = Double.parseDouble(cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(0)[@scalingFactor]")); // assumes configuration not malformed
-
+
while(!joystickTag.isEmpty() && !workbenchEvent.isEmpty())
{
JoystickEvent.CommandType command = JoystickEvent.CommandType.valueOf(workbenchEvent); //TODO: what if there is no enumeration for the action
commandMappings.put(joystickTag, command);
descriptionMappings.put(joystickTag, description);
scalingMappings.put(joystickTag, scalingFactor);
-
+
//Utilities.traceOut ("Select button " + joystickTag + " to " + workbenchEvent);
eventIndex++;
joystickTag = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(" + eventIndex + ")[@joystickTag]");
workbenchEvent = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(" + eventIndex + ")[@workbenchEvent]");
description = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(" + eventIndex + ")[@description]");
- String scalingFactorStr = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(" + eventIndex + ")[@scalingFactor]");
+ String scalingFactorStr = cfg2.val("Joysticks.Joystick(" + controllerIndex + ").events.event(" + eventIndex + ")[@scalingFactor]");
if (!scalingFactorStr.isEmpty()) // scalingFactorStr will be an empty string for all out of bounds indices
{
scalingFactor = Double.parseDouble(scalingFactorStr);
@@ -309,13 +310,13 @@
* TODO: doesn't switch joysticks if a joystick is used, unplugged and then switched with another one.
* @return active {@link Joystick}
*/
- public static Joystick getJoystick()
+ public static Joystick getJoystick()
{
if(sharedJoystick == null)
{
Controller firstPresentController = Joystick.getFirstPresentJoystickController();
- if (firstPresentController==null)
- {
+ if (firstPresentController==null)
+ {
//TODO: actually get new joystick and update old shared joystick info
return null;
}
@@ -349,7 +350,7 @@
/**
* Returns the first <i>known</i> joystick controller. Searches all the controllers,
- * looking for one of the named supported joystick controllers. The first joystick
+ * looking for one of the named supported joystick controllers. The first joystick
* controller on the list of known controllers is returned.
*
* @return first known joystick controller
@@ -364,7 +365,7 @@
}
catch (Exception e) // throws exception if problem occurs finding jinput library, see build.xml for path details
{
- e.printStackTrace();
+ LogUtils.getLogger(Joystick.class).error(e);
return null;
}
Controller namedController = null;
@@ -417,7 +418,7 @@
}
/** Debugging. List all the USB bus controllers attached to this host. Typically
- * this will include keyboards, mice, and any joysticks.
+ * this will include keyboards, mice, and any joysticks.
*/
public static void listControllers()
{
@@ -469,16 +470,16 @@
*
* @param newJoystickEvent
*/
- private void publishEvent(JoystickEvent newJoystickEvent)
+ private void publishEvent(JoystickEvent newJoystickEvent)
{
- for (int idx = 0; idx < joystickEventListenerList.size(); idx++)
+ for (int idx = 0; idx < joystickEventListenerList.size(); idx++)
{
joystickEventListenerList.get(idx).receiveJoystickEvent(newJoystickEvent, this);
}
}
/** Returns a Controller object with the given name. If the name is not contained
- * in our list of pre-configured joysticks, we return null.
+ * in our list of pre-configured joysticks, we return null.
*
* @param controllerName Name of the controller type, eg "Logitech Freedom 2.4"
* @return Controller object, or null if controller not plugged in or of unknown type
@@ -494,9 +495,9 @@
// joystick in advance, in code, so we can initialize it correctly. If they
// request a joystick we don't have preconfigured, return null and print an
// error message.
- for (int idx = 0; idx < knownJoystickNames.length; idx++)
+ for (int idx = 0; idx < knownJoystickNames.length; idx++)
{
- if (knownJoystickNames[idx].equalsIgnoreCase(controllerName))
+ if (knownJoystickNames[idx].equalsIgnoreCase(controllerName))
{
controllerKnown = true;
if (!knownJoystickNames[idx].equals(controllerName))
@@ -507,7 +508,7 @@
}
}
- if (controllerKnown == false)
+ if (controllerKnown == false)
{
Utilities.traceOut("The requested controller named " + controllerName + " is not a pre-configured type, and will be ignored.");
Utilities.traceOut("The known Joystick types are");
@@ -520,12 +521,12 @@
// Search the list of controllers attached to this computer. Even if we know about the
// joystick type requested, it might not be plugged in, so this search may fail.
- for (int idx = 0; idx < allControllers.length; idx++)
+ for (int idx = 0; idx < allControllers.length; idx++)
{
- if (allControllers[idx].getName().equalsIgnoreCase(controllerName))
+ if (allControllers[idx].getName().equalsIgnoreCase(controllerName))
{
namedController = allControllers[idx];
- if (!allControllers[idx].getName().equals(controllerName))
+ if (!allControllers[idx].getName().equals(controllerName))
{
Utilities.traceOut("Configuration spelling case mismatch found: allControllers[" + idx + "]=" + allControllers[idx] + ", controllerName=" + controllerName);
// TODO run-time change key in map?
@@ -536,8 +537,8 @@
if (namedController == null)
{
Utilities.traceOut("Requested controller of type " + controllerName + " is not attached to this computer");
- }
- else
+ }
+ else
{
Utilities.traceOut("Found controller named " + namedController.getName());
}
@@ -545,7 +546,7 @@
return namedController; // May be null
}
- public synchronized void setRunning(boolean status)
+ public synchronized void setRunning(boolean status)
{
running = status;
}
@@ -556,7 +557,7 @@
private JoystickEvent joystickEvent = new JoystickEvent();
@Override
- public void run()
+ public void run()
{
Utilities.traceOut("++++Starting event polling in joystick");
if (joystickController == null)
@@ -569,14 +570,14 @@
int pollingCounter = 0;
this.setRunning(true);
-
+
Map<String, JoystickEvent.CommandType> aJoystickEventMap = stickNameToJoystickEventCommandTypeMappings.get(selectedJoystickName);
Map<String, Double> componentScalings = componentToScalingMappings.get(selectedJoystickName);
// list of components which may be held still and thus are not creating events,
// but still contain a relevant value. key is the component name and value is
// whether or not the component has already been processed by the event queue in the current time step
- HashMap<Component, Boolean> toPoll = new HashMap<Component, Boolean>();
-
+ Map<Component, Boolean> toPoll = new HashMap<Component, Boolean>();
+
while (running == true) // If some external object sets running to false, break out of the loop and exit
{
// Polls axes for data. Returns false if the controller is no longer valid. Polling reflects the current state of the device when polled.
@@ -588,13 +589,14 @@
// from source: Populates the provided event with the details of the event on the head of the queue.
// return false if there were no events left on the queue, otherwise true.
// http://java.net/projects/jinput/sources/svn/content/trunk/coreAPI/src/java/net/java/games/input/EventQueue.java?rev=247
-
+
while (joystickController.getEventQueue().getNextEvent(event)) // sets new values into event
{
- if (running == false)
+ if (!running) {
break;
+ }
- //TODO: some components spam events - e.g. some axes aren't quite at zero when at rest. Test if value is actually significant
+ //TODO: some components spam events - e.g. some axes aren't quite at zero when at rest. Test if value is actually significant
//Utilities.traceOut("got id |" + event.getComponent().getIdentifier() + "|");
// The name of the control axis/button that generated the event
@@ -603,7 +605,7 @@
// Look up the workbench event that corresponds to that identifier.
// Weirdly, the map doesn't want to return a JoystickEvent.ControllerInput. Do it in two steps.
Object o = aJoystickEventMap.get(inputIdentifier);
- if (o == null)
+ if (o == null)
{
Utilities.debugOut("Unrecognized joystick command: " + inputIdentifier);
continue;
@@ -627,7 +629,7 @@
if (joystickEvent == null)
{
joystickEvent = new JoystickEvent(commandType, value, event);
- }
+ }
else
{
joystickEvent.setCommandType(commandType);
@@ -643,28 +645,28 @@
//Utilities.traceOut(joystickEvent);
Utilities.traceOut("Unrecognized joystickEvent command throws exception: " + commandType.toString() + " " + inputIdentifier);
}
- }
+ }
else Utilities.traceOut("Unrecognized joystickEvent command: " + commandType.toString() + " " + inputIdentifier);
}
// manually poll the components which are not at zero but did not generate an event in the current timestep
- for (Component componentToPoll : toPoll.keySet())
+ for (Component componentToPoll : toPoll.keySet())
{
if (!toPoll.get(componentToPoll)) // if not processed already
{
// The name of the control axis/button that generated the event
String inputIdentifier = componentToPoll.getIdentifier().getName();
-
+
float value = componentToPoll.getPollData() * (float) componentScalings.get(inputIdentifier).doubleValue();
- // shouldn't happen.. but for consistency we don't want to create workbench
+ // shouldn't happen.. but for consistency we don't want to create workbench
// events with values below the threshold
if (Math.abs(value) < SIGNIFICANT_JOYSTICK_VALUE)
{
// TODO: remove from toPoll map also?
value = 0.0f;
}
-
+
// Look up the workbench event that corresponds to that identifier.
// Weirdly, the map doesn't want to return a JoystickEvent.ControllerInput. Do it in two steps.
Object o = aJoystickEventMap.get(inputIdentifier);
@@ -682,7 +684,7 @@
joystickEvent.setOriginalEvent(event);
this.publishEvent(joystickEvent);
joystickEventCounter++;
- }
+ }
}
}
// prepare for beginning of next time step when no events have been processed yet
@@ -691,7 +693,7 @@
toPoll.put(componentToPoll, false);
}
}
- // Constant polling burns up a lot of CPU. This sleeps for some period of time before the next poll.
+ // Constant polling burns up a lot of CPU. This sleeps for some period of time before the next poll.
try
{
Thread.sleep(JOYSTICK_POLLING_INTERVAL_MS);
Modified: trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java
===================================================================
--- trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java 2013-02-12 17:26:32 UTC (rev 8832)
+++ trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java 2013-02-15 22:06:23 UTC (rev 8833)
@@ -42,7 +42,7 @@
* developer monitoring of log4j event fired within the AUVW.
*
* @author <a href="mailto:tdn...@np...?subject=edu.nps.util.Log4jFactorFiveDisplay">Terry Norbraten, NPS MOVES</a>
- * @version $Id: $
+ * @version $Id$
*/
public class Log4jFactorFiveDisplay extends LogBrokerMonitor {
Property changes on: trunk/AuvWorkbench/src/edu/nps/util/Log4jFactorFiveDisplay.java
___________________________________________________________________
Added: svn:keywords
+ Id
Modified: trunk/AuvWorkbench/src/workbench/main/AMVWscreenCaptureService.java
===================================================================
--- trunk/AuvWorkbench/src/workbench/main/AMVWscreenCaptureService.java 2013-02-12 17:26:32 UTC (rev 8832)
+++ trunk/AuvWorkbench/src/workbench/main/AMVWscreenCaptureService.java 2013-02-15 22:06:23 UTC (rev 8833)
@@ -309,8 +309,8 @@
if (choices[i][0] == null)
{
if ((choices[i].length > 1) && choices[i][1] != null)
- System.out.println ("Error, snapshot window choice not found: " + choices[i][1]);
- else System.out.println ("Error, snapshot window choice not found: choices[" + i + "]");
+ LOG.warn("Error, snapshot window choice not found: " + choices[i][1]);
+ else LOG.warn("Error, snapshot window choice not found: choices[" + i + "]");
continue;
}
JRadioButton rb = new JRadioButton((String) choices[i][1]);
Modified: trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java
===================================================================
--- trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java 2013-02-12 17:26:32 UTC (rev 8832)
+++ trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java 2013-02-15 22:06:23 UTC (rev 8833)
@@ -84,7 +84,6 @@
private boolean missionDirty;
private String[] supportedVehicleTypes = {""};
private String[] supportedVehicleDisplayNames = {""};
- private MultiMissionController multiMissionController;
/**
* Constructor for existing missions
@@ -109,16 +108,14 @@
private void common(File xmlPath, AUVWorkbenchConfig cfgAUV, MultiMissionController multiMissionController, int vehicleType) {
missionFile = xmlPath;
tempMissionFile = makeTempMissionFile(vehicleType);
-
+
// Set writeable permissions for all, esp. Unix systems
tempMissionFile.setWritable(true, false);
- this.multiMissionController = multiMissionController;
// Empty mission
if (vehicleType != -1) {
buildMission(vehicleType);
-
-
+
// Prepare the scratch pad file
marshalTempMissionFile();
@@ -457,10 +454,4 @@
public int realtimeCommandIdx = -1;
public boolean selected = false;
- /**
- * @return the multiMissionController
- */
- public MultiMissionController getMultiMissionController() {
- return multiMissionController;
- }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-02-12 17:26:43
|
Revision: 8832
http://xmsf.svn.sourceforge.net/xmsf/?rev=8832&view=rev
Author: tnorbraten
Date: 2013-02-12 17:26:32 +0000 (Tue, 12 Feb 2013)
Log Message:
-----------
[Terry N.] use static variable LOG
Modified Paths:
--------------
trunk/AuvWorkbench/src/workbench/main/AMVWmain.java
Modified: trunk/AuvWorkbench/src/workbench/main/AMVWmain.java
===================================================================
--- trunk/AuvWorkbench/src/workbench/main/AMVWmain.java 2013-01-15 20:13:02 UTC (rev 8831)
+++ trunk/AuvWorkbench/src/workbench/main/AMVWmain.java 2013-02-12 17:26:32 UTC (rev 8832)
@@ -413,7 +413,7 @@
}
}
} catch (NullPointerException ex) {
- LogUtils.getLogger(AMVWmain.class).error(ex);
+ LOG.error(ex);
}
if (url != null && !url.isEmpty()) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-15 20:13:08
|
Revision: 8831
http://xmsf.svn.sourceforge.net/xmsf/?rev=8831&view=rev
Author: tnorbraten
Date: 2013-01-15 20:13:02 +0000 (Tue, 15 Jan 2013)
Log Message:
-----------
[Terry N.] don't let any non-Swing threads be non-daemon
Modified Paths:
--------------
trunk/AuvWorkbench/src/edu/nps/util/CommonMachineConfig.java
Modified: trunk/AuvWorkbench/src/edu/nps/util/CommonMachineConfig.java
===================================================================
--- trunk/AuvWorkbench/src/edu/nps/util/CommonMachineConfig.java 2013-01-15 02:47:23 UTC (rev 8830)
+++ trunk/AuvWorkbench/src/edu/nps/util/CommonMachineConfig.java 2013-01-15 20:13:02 UTC (rev 8831)
@@ -184,6 +184,7 @@
Thread t = new Thread(handler, "CommonMachineConfig_handler");
t.setPriority(Thread.NORM_PRIORITY);
+ t.setDaemon(true);
t.start();
}
} catch (IOException e) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cl...@us...> - 2013-01-15 02:47:30
|
Revision: 8830
http://xmsf.svn.sourceforge.net/xmsf/?rev=8830&view=rev
Author: clblais
Date: 2013-01-15 02:47:23 +0000 (Tue, 15 Jan 2013)
Log Message:
-----------
In AgendaMission, added logic for creating KML Point from AVCL Point for GoalList/Goal/Operating Area and ConstraintList/AvoidArea geometries. Provided initial logic for generating a KML polygon from the AVCL rectangle definition (need to include rotation of the polygon).
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-14 19:37:31 UTC (rev 8829)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-15 02:47:23 UTC (rev 8830)
@@ -30,6 +30,7 @@
Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
Blais: 11 January 2013 In SampledResults template, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
Blais: 13 January 2013 In AgendaMission, add template stubs and partial logic for producing KML content from GoalList and ConstraintList elements, including geometrical shapes for operating areas (goals) and avoid areas (constraints).
+Blais: 13 January 2013 In AgendaMission, added logic for creating KML Point from AVCL Point for GoalList/Goal/Operating Area and ConstraintList/AvoidArea geometries. Provided initial logic for generating a KML polygon from the AVCL rectangle definition (need to include rotation of the polygon).
-->
<!-- Set variables storing the GeoOrigin location -->
@@ -434,7 +435,7 @@
</xsl:template>
<xsl:template match="Circle">
- <!-- TODO AVCL defines a circle by a center and a radius. Need to determine appropriate KML geometry to generate in the result document. -->
+ <!-- TODO AVCL defines a circle by a center and a radius. Need to determine appropriate KML geometry to generate in the result document (e.g., it is not possible to achieve this by scaling a circular icon). -->
<!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
</xsl:template>
@@ -442,6 +443,9 @@
<!-- TODO AVCL defines a limiting line by one to many XYPosition or LatitudeLongitude values. Construct a KML LineString with the AVCL limiting line points. -->
<Placemark>
<name>
+ <!-- Construct the name by combining the description of the OperatingArea or AvoidArea (parent element) and the description of the geometric shape -->
+ <xsl:value-of select="../@description"/>
+ <xsl:text> </xsl:text>
<xsl:value-of select="./@description"/>
</name>
<LineString>
@@ -457,6 +461,21 @@
<xsl:template match="Point">
<!-- TODO AVCL defines a point by an XYPosition or LatitudeLongitude. Need to determine appropriate KML geometry to generate in the result document. -->
+ <Placemark>
+ <name>
+ <!-- Construct the name by combining the description of the OperatingArea or AvoidArea (parent element) and the description of the geometric shape -->
+ <xsl:value-of select="../@description"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="./@description"/>
+ </name>
+ <Point>
+ <xsl:call-template name="geometryPoints">
+ <xsl:with-param name="shape" select="."/>
+ <xsl:with-param name="isClosed" select="'false'"/>
+ <!-- isClosed = false means this is not a closed shape (in contrast to a polygon, for example) -->
+ </xsl:call-template>
+ </Point>
+ </Placemark>
<!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
</xsl:template>
@@ -465,6 +484,9 @@
<!-- TODO May need to pick up the description from the parent Goal or AvoidArea description -->
<Placemark>
<name>
+ <!-- Construct the name by combining the description of the OperatingArea or AvoidArea (parent element) and the description of the geometric shape -->
+ <xsl:value-of select="../@description"/>
+ <xsl:text> </xsl:text>
<xsl:value-of select="./@description"/>
</name>
<Polygon>
@@ -504,7 +526,51 @@
</xsl:template>
<xsl:template match="Rectangle">
- <!-- TODO AVCL defines a rectangle by a northwest corner, width, height, and rotation (around the northwest corner). Need to determine appropriate KML geometry to generate in the result document. -->
+ <!-- TODO AVCL defines a rectangle by a northwest corner, width, height, and rotation (around the northwest corner). -->
+ <!-- As an initial capability, compute the vertices of a rectangular polygon from the AVCL data, without yet taking the rotation into account (computing the rotated coordinates will require trigonometric functions not available in XSLT without extension) -->
+ <xsl:variable name="NWlat" select="(NorthwestCorner/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ <xsl:variable name="NWlong" select="(NorthwestCorner/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:variable name="SWlat" select="((NorthwestCorner/XYPosition/@x + Height/@value) * $latitudeMetersToDegrees) + $originLatitude"/>
+ <xsl:variable name="SWlong" select="$NWlong"/>
+ <xsl:variable name="SElat" select="$SWlat"/>
+ <xsl:variable name="SElong" select="((NorthwestCorner/XYPosition/@y + Width/@value) * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:variable name="NElat" select="$NWlat"/>
+ <xsl:variable name="NElong" select="$SElong"/>
+ <Placemark>
+ <name>
+ <!-- Construct the name by combining the description of the OperatingArea or AvoidArea (parent element) and the description of the geometric shape -->
+ <xsl:value-of select="../@description"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="./@description"/>
+ </name>
+ <Polygon>
+ <outerBoundaryIs>
+ <LinearRing>
+ <coordinates>
+ <xsl:value-of select="$NWlong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$NWlat"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$SWlong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$SWlat"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$SElong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$SElat"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$NElong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$NElat"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$NWlong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$NWlat"/>
+ </coordinates>
+ </LinearRing>
+ </outerBoundaryIs>
+ </Polygon>
+ </Placemark>
<!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
</xsl:template>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cl...@us...> - 2013-01-14 19:37:39
|
Revision: 8829
http://xmsf.svn.sourceforge.net/xmsf/?rev=8829&view=rev
Author: clblais
Date: 2013-01-14 19:37:31 +0000 (Mon, 14 Jan 2013)
Log Message:
-----------
In AgendaMission, add template stubs and partial logic for producing KML content from GoalList and ConstraintList elements, including geometrical shapes for operating areas (goals) and avoid areas (constraints).
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 18:55:33 UTC (rev 8828)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-14 19:37:31 UTC (rev 8829)
@@ -28,7 +28,8 @@
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (6) created a template for generating the KML LookAt element for Placemarks and replaced explicit generation with calls to the template; (7) modified LookAt child element values for better positioning of the viewer when the KML file is opened in Google-Earth; (8) added a separator comment for templates providing utility logic (e.g., time conversion, LookAt logic).
Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value and updated all lat-long calculations accordingly.
Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
-Blais: 11 January 2013 In SampledResults, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
+Blais: 11 January 2013 In SampledResults template, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
+Blais: 13 January 2013 In AgendaMission, add template stubs and partial logic for producing KML content from GoalList and ConstraintList elements, including geometrical shapes for operating areas (goals) and avoid areas (constraints).
-->
<!-- Set variables storing the GeoOrigin location -->
@@ -144,7 +145,7 @@
</xsl:template>
<xsl:template match="LoiterUAV">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
<xsl:template match="SetPositionUAV">
@@ -206,11 +207,11 @@
</xsl:template>
<xsl:template match="LoiterUGV">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
<xsl:template match="SetPositionUGV">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
<xsl:template match="WaypointUGV">
@@ -229,7 +230,7 @@
</xsl:template>
<xsl:template match="LoiterUSV">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
<xsl:template match="SetPositionUSV">
@@ -283,7 +284,7 @@
</xsl:template>
<xsl:template match="LoiterUUV">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
<xsl:template match="SetPositionUUV">
@@ -404,11 +405,121 @@
</Point>
</Placemark>
</xsl:if>
- <!-- TODO Translate content from GoalList and ConstraintList -->
+ <xsl:apply-templates select="GoalList"/>
+ <xsl:apply-templates select="ConstraintList"/>
</xsl:template>
+
+ <xsl:template match="GoalList">
+ <xsl:apply-templates select="Goal"/>
+ </xsl:template>
+
+ <xsl:template match="Goal">
+ <xsl:apply-templates select="Reposition"/>
+ <xsl:apply-templates select="OperatingArea"/>
+ </xsl:template>
+ <xsl:template match="Reposition">
+ <!-- Child element Routing has XYPosition (one to many) and depth or altitude data; same structure as for ConstraintList/IngressRouting and ConstraintList/EgressRouting -->
+ <xsl:apply-templates select="Routing"/>
+ </xsl:template>
+
+ <xsl:template match="OperatingArea | AvoidArea">
+ <!-- TODO Translate area geometries to KML; note the AVCL structures for GoalList/Goal/OperatingArea and ConstraintList/AvoidArea are identical -->
+ <!-- AVCL area geometries are defined as Circle, LimitingLine, Point, Polygon, or Rectangle (select one) -->
+ <xsl:apply-templates select="Circle"/>
+ <xsl:apply-templates select="LimitingLine"/>
+ <xsl:apply-templates select="Point"/>
+ <xsl:apply-templates select="Polygon"/>
+ <xsl:apply-templates select="Rectangle"/>
+ </xsl:template>
+
+ <xsl:template match="Circle">
+ <!-- TODO AVCL defines a circle by a center and a radius. Need to determine appropriate KML geometry to generate in the result document. -->
+ <!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
+ </xsl:template>
+
+ <xsl:template match="LimitingLine">
+ <!-- TODO AVCL defines a limiting line by one to many XYPosition or LatitudeLongitude values. Construct a KML LineString with the AVCL limiting line points. -->
+ <Placemark>
+ <name>
+ <xsl:value-of select="./@description"/>
+ </name>
+ <LineString>
+ <xsl:call-template name="geometryPoints">
+ <xsl:with-param name="shape" select="."/>
+ <xsl:with-param name="isClosed" select="'false'"/>
+ <!-- isClosed = false means this is not a closed shape (in contrast to a polygon, for example) -->
+ </xsl:call-template>
+ </LineString>
+ </Placemark>
+ <!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
+ </xsl:template>
+
+ <xsl:template match="Point">
+ <!-- TODO AVCL defines a point by an XYPosition or LatitudeLongitude. Need to determine appropriate KML geometry to generate in the result document. -->
+ <!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
+ </xsl:template>
+
+ <xsl:template match="Polygon">
+ <!-- AVCL defines a polygon by one to many XYPosition or LatitudeLongitude values. Construct a KML Polygon/isOuterRing structure with the AVCL polygon vertices. -->
+ <!-- TODO May need to pick up the description from the parent Goal or AvoidArea description -->
+ <Placemark>
+ <name>
+ <xsl:value-of select="./@description"/>
+ </name>
+ <Polygon>
+ <outerBoundaryIs>
+ <LinearRing>
+ <xsl:call-template name="geometryPoints">
+ <xsl:with-param name="shape" select="."/>
+ <xsl:with-param name="isClosed" select="'true'"/>
+ <!-- isClosed = true means this is constructing a closed shape where the final point in the KML geometry needs to be identical to the first point -->
+ </xsl:call-template>
+ </LinearRing>
+ </outerBoundaryIs>
+ </Polygon>
+ </Placemark>
+ <!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
+ </xsl:template>
+
+ <xsl:template name="geometryPoints">
+ <!-- Output vertices of AVCL geometry to KML coordinates element -->
+ <xsl:param name="shape"/>
+ <xsl:param name="isClosed"/>
+ <xsl:variable name="initialPointLat" select="($shape/XYPosition[1]/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ <xsl:variable name="initialPointLong" select="($shape/XYPosition[1]/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <coordinates>
+ <xsl:for-each select="XYPosition">
+ <xsl:value-of select="(./@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="(./@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ <xsl:text> </xsl:text>
+ <xsl:if test="$isClosed = 'true' and position() = last()">
+ <xsl:value-of select="$initialPointLong"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$initialPointLat"/>
+ </xsl:if>
+ </xsl:for-each>
+ </coordinates>
+ </xsl:template>
+
+ <xsl:template match="Rectangle">
+ <!-- TODO AVCL defines a rectangle by a northwest corner, width, height, and rotation (around the northwest corner). Need to determine appropriate KML geometry to generate in the result document. -->
+ <!-- TODO Determine how to include vertical block data (depth/altitude) from the AVCL source document -->
+ </xsl:template>
+
+ <xsl:template match="ConstraintList">
+ <xsl:apply-templates select="IngressRouting"/>
+ <xsl:apply-templates select="AvoidArea"/>
+ <xsl:apply-templates select="EgressRouting"/>
+ </xsl:template>
+
+ <xsl:template match="Routing | IngressRouting | EgressRouting">
+ <!-- TODO Translate routing points to KML; note the AVCL structures are identical -->
+ </xsl:template>
+
<xsl:template match="GuidedMunitionMission">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
<!-- LaunchPositionML -->
<!-- AimPoint -->
</xsl:template>
@@ -418,7 +529,7 @@
<!-- ****** TEMPLATES FOR EVENT LOG ****** -->
<xsl:template match="EventLog">
- <!-- TODO: Select data to post to KML. -->
+ <!-- TODO Select data to post to KML. -->
</xsl:template>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cl...@us...> - 2013-01-11 18:55:42
|
Revision: 8828
http://xmsf.svn.sourceforge.net/xmsf/?rev=8828&view=rev
Author: clblais
Date: 2013-01-11 18:55:33 +0000 (Fri, 11 Jan 2013)
Log Message:
-----------
In SampledResults template, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 18:35:07 UTC (rev 8827)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 18:55:33 UTC (rev 8828)
@@ -27,7 +27,8 @@
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (3) added logic to generate comments from meta tags in the source file; (4) added a stub for generating KML for the AVCL EventLog elements; (5) inserted separator comments between major portions of the logic (MissionPreparation, EventLog, SampledResults).
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (6) created a template for generating the KML LookAt element for Placemarks and replaced explicit generation with calls to the template; (7) modified LookAt child element values for better positioning of the viewer when the KML file is opened in Google-Earth; (8) added a separator comment for templates providing utility logic (e.g., time conversion, LookAt logic).
Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value and updated all lat-long calculations accordingly.
-Blais 11 January 2013 Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
+Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
+Blais: 11 January 2013 In SampledResults, replaced generic telemetry point logic with logic particular to the kind of vehicle (UAV, UGV, USV, UUV) in order to store depth or altitude values in the KML point data; add postTelemetryPoint template.
-->
<!-- Set variables storing the GeoOrigin location -->
@@ -444,19 +445,101 @@
<xsl:call-template name="generateTimeStamp"/>
- <!-- TODO add logic to read altitude/depth from particular telemetry content in the source document -->
- <styleUrl>#msn_ylw-pushpin</styleUrl>
- <Point>
- <coordinates>
- <xsl:value-of select="$originLongitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
- <xsl:text>,</xsl:text>
- <xsl:value-of select="$originLatitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
- </coordinates>
- </Point>
+ <!-- Determine which kind of telemetry (UUV, USV, UGV, or UAV) is in the SampledResults element -->
+ <xsl:choose>
+ <xsl:when test="UUVTelemetry">
+ <xsl:choose>
+ <!-- when VerticalPosition is present, the depth is in attribute depth (mandatory) and possibly attribute altitude (optional) -->
+ <xsl:when test="UUVTelemetry/VerticalPosition">
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UUVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UUVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="-UUVTelemetry/VerticalPosition/@depth"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no depth provided in the source file for this telemetry point -->
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UUVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UUVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="USVTelemetry">
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (USVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (USVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <!-- no vertical position is given for USVTelemetry -->
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="UGVTelemetry">
+ <!-- when AltitudeUGV is present, the altitude is in attribute altitudeMSL (mandatory) -->
+ <xsl:choose>
+ <xsl:when test="UGVTelemetry/AltitudeUGV">
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UGVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UGVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="UGVTelemetry/AltitudeUGV/@altitudeMSL"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no altitude provided in the source file for this telemetry point -->
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UGVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UGVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="UAVTelemetry">
+ <!-- when VerticalPositionUAV is present, the altitude is in attribute altitudeMSL (mandatory) and possibly attribute altitudeAGL (optional) -->
+ <xsl:choose>
+ <xsl:when test="UAVTelemetry/VerticalPositionUAV">
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UAVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UAVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="UAVTelemetry/VerticalPositionUAV/@altitudeMSL"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no altitude provided in the source file for this telemetry point -->
+ <xsl:call-template name="postTelemetryPoint">
+ <xsl:with-param name="latitude" select="$originLatitude + (UAVTelemetry/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
+ <xsl:with-param name="longitude" select="$originLongitude + (UAVTelemetry/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- TODO other kinds of SampledResults: add logic for posting KML from UxVControlOrder elements, sensor elements, and weapon elements, if applicable. -->
+ </xsl:otherwise>
+ </xsl:choose>
</Placemark>
</xsl:template>
+ <xsl:template name="postTelemetryPoint">
+ <xsl:param name="latitude"/>
+ <xsl:param name="longitude"/>
+ <xsl:param name="altitude"/>
+ <styleUrl>#msn_ylw-pushpin</styleUrl>
+ <Point>
+ <altitudeMode>absolute</altitudeMode>
+ <coordinates>
+ <xsl:value-of select="$longitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$latitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$altitude"/>
+ </coordinates>
+ </Point>
+ </xsl:template>
+
<!-- ****** TEMPLATES FOR UTILITY COMPUTATIONS ****** -->
<xsl:template name="generateLookAt">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cl...@us...> - 2013-01-11 18:35:19
|
Revision: 8827
http://xmsf.svn.sourceforge.net/xmsf/?rev=8827&view=rev
Author: clblais
Date: 2013-01-11 18:35:07 +0000 (Fri, 11 Jan 2013)
Log Message:
-----------
Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 17:15:10 UTC (rev 8826)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 18:35:07 UTC (rev 8827)
@@ -26,7 +26,8 @@
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (1) added comments in header describing file history; (2) inserted declaration of xsi namespace and added the schemaLocation attribute to <kml> root element in result file for XML validation.
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (3) added logic to generate comments from meta tags in the source file; (4) added a stub for generating KML for the AVCL EventLog elements; (5) inserted separator comments between major portions of the logic (MissionPreparation, EventLog, SampledResults).
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (6) created a template for generating the KML LookAt element for Placemarks and replaced explicit generation with calls to the template; (7) modified LookAt child element values for better positioning of the viewer when the KML file is opened in Google-Earth; (8) added a separator comment for templates providing utility logic (e.g., time conversion, LookAt logic).
-Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value.
+Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value and updated all lat-long calculations accordingly.
+Blais 11 January 2013 Incorporated new logic from changes/testing in December 2012: (10) added explicit template stubs and partial logic for AVCL content that can provide geographic points and shapes for the KML file, replacing previous Waypoint and Hover logic; (11) inserted comments to describe transformation logic.
-->
<!-- Set variables storing the GeoOrigin location -->
@@ -42,6 +43,7 @@
<xsl:variable name="longitudeMetersToDegrees" select="$latitudeMetersToDegrees * (1.0 - (fn:abs($originLatitude) div 90.0))"/>
<xsl:output method="xml" indent="yes" exclude-result-prefixes="xsl fo xs fn"/>
+
<xsl:template match="/">
<xsl:text> </xsl:text>
<kml xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd">
@@ -67,6 +69,7 @@
</xsl:template>
<xsl:template match="meta">
+ <!-- Capture the content of meta tags from the source AVCL document as XML comments in the KML result document -->
<xsl:comment>
<xsl:text>meta name="</xsl:text>
<xsl:value-of select="./@name"/>
@@ -79,13 +82,15 @@
<!-- ****** TEMPLATES FOR MISSION PREPARATION ****** -->
<xsl:template match="MissionPreparation">
+ <!-- Create a PlaceMark for the GeoOrigin of the mission -->
+ <!-- Note that although every AVCL file is required to have a MissionPreparation element, the element is only required to contain UnitsOfMeasure content; GeoOrigin, Configuration, and MissionSpecification are not mandatory child elements -->
<Placemark>
<name>
<xsl:text>GeoOrigin</xsl:text>
</name>
<xsl:call-template name="generateLookAt">
- <xsl:with-param name="lookAtLongitude" select="GeoOrigin/@longitude"/>
- <xsl:with-param name="lookAtLatitude" select="GeoOrigin/@latitude"/>
+ <xsl:with-param name="lookAtLongitude" select="$originLongitude"/>
+ <xsl:with-param name="lookAtLatitude" select="$originLatitude"/>
<xsl:with-param name="lookAtAltitude" select="100"/>
<xsl:with-param name="lookAtHeading" select="0"/>
<xsl:with-param name="lookAtTilt" select="45"/>
@@ -95,52 +100,320 @@
<styleUrl>#redPushpin</styleUrl>
<Point>
<coordinates>
- <xsl:value-of select="GeoOrigin/@longitude"/>
+ <xsl:value-of select="$originLongitude"/>
<xsl:text>,</xsl:text>
- <xsl:value-of select="GeoOrigin/@latitude"/>
+ <xsl:value-of select="$originLatitude"/>
</coordinates>
</Point>
</Placemark>
- <!-- only one should be applicable
- <xsl:apply-templates select="UAVCommandScript/WaypointUAV"/>
- <xsl:apply-templates select="UGVCommandScript/WaypointUGV"/>
- <xsl:apply-templates select="USVCommandScript/WaypointUSV"/>
- <xsl:apply-templates select="UUVCommandScript/WaypointUUV"/>
- -->
- <xsl:apply-templates select="*/*[contains(local-name(),'Waypoint') or contains(local-name(),'Hover')]"/>
-
+ <!-- Generate Placemarks for points of interest from the mission planning -->
+ <!-- Note: The MissionPreparation element may have at most one of these child elements -->
+ <xsl:choose>
+ <xsl:when test="UAVCommandScript">
+ <xsl:apply-templates select="UAVCommandScript"/>
+ </xsl:when>
+ <xsl:when test="UGVCommandScript">
+ <xsl:apply-templates select="UGVCommandScript"/>
+ </xsl:when>
+ <xsl:when test="USVCommandScript">
+ <xsl:apply-templates select="USVCommandScript"/>
+ </xsl:when>
+ <xsl:when test="UUVCommandScript">
+ <xsl:apply-templates select="UUVCommandScript"/>
+ </xsl:when>
+ <xsl:when test="AgendaMission">
+ <xsl:apply-templates select="AgendaMission"/>
+ </xsl:when>
+ <xsl:when test="GuidedMunitionMission">
+ <xsl:apply-templates select="GuidedMunitionMission"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no other Mission Preparation data are available in the source AVCL document -->
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
- <xsl:template match="*[contains(local-name(),'Waypoint') or contains(local-name(),'Hover')]">
- <Placemark>
- <name>
- <xsl:value-of select="@description"/>
- </name>
+ <xsl:template match="UAVCommandScript">
+ <xsl:apply-templates select="LoiterUAV"/>
+ <xsl:apply-templates select="SetPositionUAV"/>
+ <xsl:apply-templates select="WaypointUAV"/>
+ <!-- TODO add logic for CompositeWaypointUAV and other commands with position data -->
+ </xsl:template>
+
+ <xsl:template match="LoiterUAV">
+ <!-- TODO: Select data to post to KML. -->
+ </xsl:template>
+
+ <xsl:template match="SetPositionUAV">
+ <!-- SetPositionUAV can contain an AGLAltitude or an MSLAltitude (not both) -->
+ <!-- TODO logic is same as for WaypointUAV; can be consolidated -->
+ <xsl:choose>
+ <xsl:when test="AGLAltitude">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="AGLAltitude/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="MSLAltitude">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="MSLAltitude/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no altitude data provided in the AVCL source file for this waypoint -->
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="WaypointUAV">
+ <!-- a WaypointUAV can contain an AGLAltitude or an MSLAltitude (not both) -->
+ <xsl:choose>
+ <xsl:when test="AGLAltitude">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="AGLAltitude/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="MSLAltitude">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="MSLAltitude/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no altitude data provided in the AVCL source file for this waypoint -->
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="UGVCommandScript">
+ <xsl:apply-templates select="LoiterUGV"/>
+ <xsl:apply-templates select="SetPositionUGV"/>
+ <xsl:apply-templates select="WaypointUGV"/>
+ <!-- TODO add logic for CompositeWaypointUGV and other commands with position data -->
+ </xsl:template>
+
+ <xsl:template match="LoiterUGV">
+ <!-- TODO: Select data to post to KML. -->
+ </xsl:template>
+
+ <xsl:template match="SetPositionUGV">
+ <!-- TODO: Select data to post to KML. -->
+ </xsl:template>
+
+ <xsl:template match="WaypointUGV">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <!-- no altitude is provided in a WaypointUGV element -->
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="USVCommandScript">
+ <xsl:apply-templates select="LoiterUSV"/>
+ <xsl:apply-templates select="SetPositionUSV"/>
+ <xsl:apply-templates select="WaypointUSV"/>
+ <!-- TODO add logic for CompositeWaypointUSV and other commands with position data -->
+ </xsl:template>
+
+ <xsl:template match="LoiterUSV">
+ <!-- TODO: Select data to post to KML. -->
+ </xsl:template>
+
+ <xsl:template match="SetPositionUSV">
+ <!-- TODO note logic is same as WaypointUSV -->
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <!-- no altitude or depth is provided in a WaypointUSV element -->
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="WaypointUSV">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <!-- no altitude or depth is provided in a WaypointUSV element -->
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="UUVCommandScript">
+ <xsl:apply-templates select="Hover"/>
+ <xsl:apply-templates select="LoiterUUV"/>
+ <xsl:apply-templates select="SetPositionUUV"/>
+ <xsl:apply-templates select="WaypointUUV"/>
+ <!-- TODO add logic for CompositeWaypointUUV and other commands with position data -->
+ </xsl:template>
+
+ <xsl:template match="Hover">
+ <!-- a Hover element can contain a depth or an altitude (not both) -->
+ <xsl:choose>
+ <xsl:when test="Depth">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="Depth/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="Altitude">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="Altitude/@value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- no altitude data provided in the AVCL source file for this waypoint -->
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <xsl:with-param name="altitude" select="0"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="LoiterUUV">
+ <!-- TODO: Select data to post to KML. -->
+ </xsl:template>
+
+ <xsl:template match="SetPositionUUV">
+ <!-- TODO logic is the same for WaypointUUV; may be able to consolidate logic -->
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <!-- TODO expand logic: when provided, either Depth or Altitude (not both) can be given in a SetPositionUUV element -->
+ <xsl:with-param name="altitude" select="-Depth/@value"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="WaypointUUV">
+ <xsl:call-template name="postWaypoint">
+ <xsl:with-param name="waypoint" select="."/>
+ <!-- TODO expand logic: when provided, either Depth or Altitude (not both) can be given in a WaypointUUV element -->
+ <xsl:with-param name="altitude" select="-Depth/@value"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="postWaypoint">
+ <xsl:param name="waypoint"/>
+ <xsl:param name="altitude"/>
+ <Placemark>
+ <name>
+ <xsl:value-of select="$waypoint/@description"/>
+ </name>
- <xsl:call-template name="generateLookAt">
- <xsl:with-param name="lookAtLongitude" select="(XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
- <xsl:with-param name="lookAtLatitude" select="(XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
- <xsl:with-param name="lookAtAltitude" select="100"/>
- <xsl:with-param name="lookAtHeading" select="0"/>
- <xsl:with-param name="lookAtTilt" select="45"/>
- <xsl:with-param name="lookAtRange" select="5000"/>
- <xsl:with-param name="lookAtAltitudeMode" select="'absolute'"/>
- </xsl:call-template>
+ <LookAt>
+ <longitude>
+ <xsl:value-of select="($waypoint/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ </longitude>
+ <latitude>
+ <xsl:value-of select="($waypoint/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ </latitude>
+ <altitude>100</altitude>
+ <heading>0</heading>
+ <tilt>45</tilt>
+ <range>10000</range>
+ </LookAt>
- <styleUrl>#redPushpin</styleUrl>
- <Point>
- <coordinates>
- <xsl:value-of select="(XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
- <xsl:text>,</xsl:text>
- <xsl:value-of select="(XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
- </coordinates>
- </Point>
- </Placemark>
- </xsl:template>
+ <styleUrl>#redPushpin</styleUrl>
+ <Point>
+ <altitudeMode>absolute</altitudeMode>
+ <coordinates>
+ <xsl:value-of select="($waypoint/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="($waypoint/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="$altitude"/>
+ </coordinates>
+ </Point>
+ </Placemark>
+
+ </xsl:template>
+
+ <xsl:template match="AgendaMission">
+ <!-- LaunchPosition -->
+ <xsl:if test="LaunchPosition/XYPosition">
+ <Placemark>
+ <name>
+ <xsl:text>LaunchPosition </xsl:text>
+ <xsl:value-of select="LaunchPosition/@description"/>
+ </name>
+
+ <LookAt>
+ <longitude>
+ <xsl:value-of select="(LaunchPosition/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ </longitude>
+ <latitude>
+ <xsl:value-of select="(LaunchPosition/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ </latitude>
+ <altitude>100</altitude>
+ <heading>0</heading>
+ <tilt>45</tilt>
+ <range>10000</range>
+ </LookAt>
+
+ <styleUrl>#redPushpin</styleUrl>
+ <Point>
+ <altitudeMode>absolute</altitudeMode>
+ <coordinates>
+ <xsl:value-of select="(LaunchPosition/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="(LaunchPosition/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ </coordinates>
+ </Point>
+ </Placemark>
+ </xsl:if>
+ <!-- RecoveryPosition -->
+ <xsl:if test="RecoveryPosition/XYPosition">
+ <Placemark>
+ <name>
+ <xsl:text>RecoveryPosition </xsl:text>
+ <xsl:value-of select="RecoveryPosition/@description"/>
+ </name>
+
+ <LookAt>
+ <longitude>
+ <xsl:value-of select="(RecoveryPosition/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ </longitude>
+ <latitude>
+ <xsl:value-of select="(RecoveryPosition/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ </latitude>
+ <altitude>100</altitude>
+ <heading>0</heading>
+ <tilt>45</tilt>
+ <range>10000</range>
+ </LookAt>
+
+ <styleUrl>#redPushpin</styleUrl>
+ <Point>
+ <altitudeMode>absolute</altitudeMode>
+ <coordinates>
+ <xsl:value-of select="(RecoveryPosition/XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="(RecoveryPosition/XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
+ </coordinates>
+ </Point>
+ </Placemark>
+ </xsl:if>
+ <!-- TODO Translate content from GoalList and ConstraintList -->
+ </xsl:template>
+
+ <xsl:template match="GuidedMunitionMission">
+ <!-- TODO: Select data to post to KML. -->
+ <!-- LaunchPositionML -->
+ <!-- AimPoint -->
+ </xsl:template>
+
+
-
<!-- ****** TEMPLATES FOR EVENT LOG ****** -->
<xsl:template match="EventLog">
@@ -170,6 +443,8 @@
</xsl:if>
<xsl:call-template name="generateTimeStamp"/>
+
+ <!-- TODO add logic to read altitude/depth from particular telemetry content in the source document -->
<styleUrl>#msn_ylw-pushpin</styleUrl>
<Point>
<coordinates>
@@ -228,7 +503,7 @@
<xsl:template name="generateTimeStamp">
<TimeStamp>
<when>
- <!-- the values for our starting point -->
+ <!-- the values for mission starting point -->
<xsl:variable name="initialSeconds" select="number(../MissionStartTime/@second)"/>
<xsl:variable name="initialMinutes" select="number(../MissionStartTime/@minute)"/>
<xsl:variable name="initialHours" select="number(../MissionStartTime/@hour)"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cl...@us...> - 2013-01-11 17:15:19
|
Revision: 8826
http://xmsf.svn.sourceforge.net/xmsf/?rev=8826&view=rev
Author: clblais
Date: 2013-01-11 17:15:10 +0000 (Fri, 11 Jan 2013)
Log Message:
-----------
Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value and updated all lat-long calculations accordingly.
Modified Paths:
--------------
trunk/AuvWorkbench/Scripts/AvclToKml.xslt
Modified: trunk/AuvWorkbench/Scripts/AvclToKml.xslt
===================================================================
--- trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-09 01:57:28 UTC (rev 8825)
+++ trunk/AuvWorkbench/Scripts/AvclToKml.xslt 2013-01-11 17:15:10 UTC (rev 8826)
@@ -26,14 +26,21 @@
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (1) added comments in header describing file history; (2) inserted declaration of xsi namespace and added the schemaLocation attribute to <kml> root element in result file for XML validation.
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (3) added logic to generate comments from meta tags in the source file; (4) added a stub for generating KML for the AVCL EventLog elements; (5) inserted separator comments between major portions of the logic (MissionPreparation, EventLog, SampledResults).
Blais: 3 January 2013 Incorporated new logic from changes/testing in December 2012: (6) created a template for generating the KML LookAt element for Placemarks and replaced explicit generation with calls to the template; (7) modified LookAt child element values for better positioning of the viewer when the KML file is opened in Google-Earth; (8) added a separator comment for templates providing utility logic (e.g., time conversion, LookAt logic).
+Blais: 11 January 2013 Incorporated new logic from changes/testing in December 2012: (9) added logic for converting from XY position (relative to an origin given in lat-long) to lat-long to scale the longitude calculation based on the latitude value.
-->
- <!-- TODO could be correct for latitude by not scaled for longitude?? -->
- <xsl:variable name="metersToDegrees" select="0.0000089831207"/>
+ <!-- Set variables storing the GeoOrigin location -->
<!-- TODO include description of GeoOrigin location in AVCL, KML -->
<xsl:variable name="originLongitude" select="AVCL/body/MissionPreparation/GeoOrigin/@longitude"/>
<xsl:variable name="originLatitude" select="AVCL/body/MissionPreparation/GeoOrigin/@latitude"/>
+ <!-- Define a conversion factor for meters to degrees (at the equator) -->
+ <xsl:variable name="latitudeMetersToDegrees" select="0.0000089831207"/>
+ <!-- Assuming a spherical earth, latitudeToDegrees is accurate for latitude values anywhere -->
+ <!-- Linear scaling of the longitude computation based on latitude is given by latitudeMetersToDegrees * (1 - abs(latitude)/90), where abs is the absolute value function -->
+ <!-- TODO also need to test with scenarios with the geoOrigin on one side of the equator and mission points above and below the equator -->
+ <xsl:variable name="longitudeMetersToDegrees" select="$latitudeMetersToDegrees * (1.0 - (fn:abs($originLatitude) div 90.0))"/>
+
<xsl:output method="xml" indent="yes" exclude-result-prefixes="xsl fo xs fn"/>
<xsl:template match="/">
<xsl:text> </xsl:text>
@@ -113,8 +120,8 @@
</name>
<xsl:call-template name="generateLookAt">
- <xsl:with-param name="lookAtLongitude" select="(XYPosition/@y * $metersToDegrees) + $originLongitude"/>
- <xsl:with-param name="lookAtLatitude" select="(XYPosition/@x * $metersToDegrees) + $originLatitude"/>
+ <xsl:with-param name="lookAtLongitude" select="(XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
+ <xsl:with-param name="lookAtLatitude" select="(XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
<xsl:with-param name="lookAtAltitude" select="100"/>
<xsl:with-param name="lookAtHeading" select="0"/>
<xsl:with-param name="lookAtTilt" select="45"/>
@@ -125,9 +132,9 @@
<styleUrl>#redPushpin</styleUrl>
<Point>
<coordinates>
- <xsl:value-of select="(XYPosition/@y * $metersToDegrees) + $originLongitude"/>
+ <xsl:value-of select="(XYPosition/@y * $longitudeMetersToDegrees) + $originLongitude"/>
<xsl:text>,</xsl:text>
- <xsl:value-of select="(XYPosition/@x * $metersToDegrees) + $originLatitude"/>
+ <xsl:value-of select="(XYPosition/@x * $latitudeMetersToDegrees) + $originLatitude"/>
</coordinates>
</Point>
</Placemark>
@@ -166,9 +173,9 @@
<styleUrl>#msn_ylw-pushpin</styleUrl>
<Point>
<coordinates>
- <xsl:value-of select="$originLongitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@y * $metersToDegrees)"/>
+ <xsl:value-of select="$originLongitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@y * $longitudeMetersToDegrees)"/>
<xsl:text>,</xsl:text>
- <xsl:value-of select="$originLatitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@x * $metersToDegrees)"/>
+ <xsl:value-of select="$originLatitude + (*[contains(local-name(),'Telemetry')]/GeographicPosition/XYPosition/@x * $latitudeMetersToDegrees)"/>
</coordinates>
</Point>
</Placemark>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-09 01:57:34
|
Revision: 8825
http://xmsf.svn.sourceforge.net/xmsf/?rev=8825&view=rev
Author: tnorbraten
Date: 2013-01-09 01:57:28 +0000 (Wed, 09 Jan 2013)
Log Message:
-----------
[Terry N.] already called after thread is stopped
Modified Paths:
--------------
trunk/AuvWorkbench/src/execution/Execution.java
Modified: trunk/AuvWorkbench/src/execution/Execution.java
===================================================================
--- trunk/AuvWorkbench/src/execution/Execution.java 2013-01-09 00:44:26 UTC (rev 8824)
+++ trunk/AuvWorkbench/src/execution/Execution.java 2013-01-09 01:57:28 UTC (rev 8825)
@@ -764,7 +764,6 @@
if (joystick != null)
{
joystick.stopPollingThread(); // TODO confirm OK
- joystick.removeAllListeners(); // Remove ourselves (and others) as joystick event joystickEventListenerList
System.out.println("++++ stopJoystickInput");
}
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-09 00:44:32
|
Revision: 8824
http://xmsf.svn.sourceforge.net/xmsf/?rev=8824&view=rev
Author: tnorbraten
Date: 2013-01-09 00:44:26 +0000 (Wed, 09 Jan 2013)
Log Message:
-----------
[Terry N.] fix header
Modified Paths:
--------------
trunk/AuvWorkbench/src/avcl/joystick/Joystick.java
Modified: trunk/AuvWorkbench/src/avcl/joystick/Joystick.java
===================================================================
--- trunk/AuvWorkbench/src/avcl/joystick/Joystick.java 2013-01-09 00:35:16 UTC (rev 8823)
+++ trunk/AuvWorkbench/src/avcl/joystick/Joystick.java 2013-01-09 00:44:26 UTC (rev 8824)
@@ -1,36 +1,36 @@
/*
- Copyright (c) 1995-2012 held by the author(s). All rights reserved.
+Copyright (c) 1995-2012 held by the author(s). All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer
- in the documentation and/or other materials provided with the
- distribution.
- * Neither the names of the Naval Postgraduate School (NPS)
- Modeling Virtual Environments and Simulation (MOVES) Institute
- (http://www.nps.edu and http://www.movesinstitute.org)
- nor the names of its contributors may be used to endorse or
- promote products derived from this software without specific
- prior written permission.
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the names of the Naval Postgraduate School (NPS)
+ Modeling Virtual Environments and Simulation (MOVES) Institute
+ (http://www.nps.edu and http://www.movesinstitute.org)
+ nor the names of its contributors may be used to endorse or
+ promote products derived from this software without specific
+ prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
package avcl.joystick;
import execution.Utilities;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-09 00:35:22
|
Revision: 8823
http://xmsf.svn.sourceforge.net/xmsf/?rev=8823&view=rev
Author: tnorbraten
Date: 2013-01-09 00:35:16 +0000 (Wed, 09 Jan 2013)
Log Message:
-----------
[Terry N.] javadoc
Modified Paths:
--------------
trunk/AuvWorkbench/src/avcl/joystick/JoystickEventListener.java
Modified: trunk/AuvWorkbench/src/avcl/joystick/JoystickEventListener.java
===================================================================
--- trunk/AuvWorkbench/src/avcl/joystick/JoystickEventListener.java 2013-01-08 23:19:56 UTC (rev 8822)
+++ trunk/AuvWorkbench/src/avcl/joystick/JoystickEventListener.java 2013-01-09 00:35:16 UTC (rev 8823)
@@ -36,11 +36,17 @@
/**
* Interface for a listener that receives events from a distributor. We receive
- * joystick events, from an attached joystick or other user input device.
+ * joystick events from an attached joystick or other user input device.
*
* @author mcgredo
*/
public interface JoystickEventListener
{
+ /** Receives an event from the joystick controller and adds it to a
+ * thread-safe queue for retrieval by the Execution object.
+ *
+ * @param controllerEvent latest event from joystick
+ * @param dispatcher The object sending the event (usually the joystick object)
+ */
void receiveJoystickEvent(JoystickEvent controllerEvent, JoystickObserver dispatcher);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-08 23:20:02
|
Revision: 8822
http://xmsf.svn.sourceforge.net/xmsf/?rev=8822&view=rev
Author: tnorbraten
Date: 2013-01-08 23:19:56 +0000 (Tue, 08 Jan 2013)
Log Message:
-----------
[Terry N.] Set writeable permissions for all, esp. Unix systems
Modified Paths:
--------------
trunk/AuvWorkbench/src/workbench/main/ConfigurationFileUpdater.java
trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java
Modified: trunk/AuvWorkbench/src/workbench/main/ConfigurationFileUpdater.java
===================================================================
--- trunk/AuvWorkbench/src/workbench/main/ConfigurationFileUpdater.java 2013-01-08 23:11:45 UTC (rev 8821)
+++ trunk/AuvWorkbench/src/workbench/main/ConfigurationFileUpdater.java 2013-01-08 23:19:56 UTC (rev 8822)
@@ -178,6 +178,9 @@
}
File target = new File(targetDir, templateFile.getName());
+
+ // Ensure write permissions for everyone on Unix systems
+ target.setWritable(true, false);
if (!target.exists()) {
FileIO.copyFile(templateFile, target, true); // closes
target.setLastModified(templateFile.lastModified()); // match timestamps
Modified: trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java
===================================================================
--- trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java 2013-01-08 23:11:45 UTC (rev 8821)
+++ trunk/AuvWorkbench/src/workbench/mission/MissionEditDataModel.java 2013-01-08 23:19:56 UTC (rev 8822)
@@ -109,6 +109,9 @@
private void common(File xmlPath, AUVWorkbenchConfig cfgAUV, MultiMissionController multiMissionController, int vehicleType) {
missionFile = xmlPath;
tempMissionFile = makeTempMissionFile(vehicleType);
+
+ // Set writeable permissions for all, esp. Unix systems
+ tempMissionFile.setWritable(true, false);
this.multiMissionController = multiMissionController;
// Empty mission
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tno...@us...> - 2013-01-08 23:11:52
|
Revision: 8821
http://xmsf.svn.sourceforge.net/xmsf/?rev=8821&view=rev
Author: tnorbraten
Date: 2013-01-08 23:11:45 +0000 (Tue, 08 Jan 2013)
Log Message:
-----------
[Terry N.] more efficient stream copy process
Modified Paths:
--------------
trunk/AuvWorkbench/src/edu/nps/util/FileIO.java
Modified: trunk/AuvWorkbench/src/edu/nps/util/FileIO.java
===================================================================
--- trunk/AuvWorkbench/src/edu/nps/util/FileIO.java 2013-01-03 23:35:00 UTC (rev 8820)
+++ trunk/AuvWorkbench/src/edu/nps/util/FileIO.java 2013-01-08 23:11:45 UTC (rev 8821)
@@ -77,10 +77,15 @@
* @throws java.io.IOException if something goes wrong
*/
public static void copyFile(Reader is, Writer os, boolean close) throws IOException {
- int b; // byte read from file
try {
- while ((b = is.read()) != -1) {
- os.write(b);
+ synchronized (is) {
+ synchronized (os) {
+ char[] buffer = new char[256];
+ int bytesRead;
+ while ((bytesRead = is.read(buffer)) != -1) {
+ os.write(buffer, 0, bytesRead);
+ }
+ }
}
} finally {
is.close();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bru...@us...> - 2013-01-03 23:35:06
|
Revision: 8820
http://xmsf.svn.sourceforge.net/xmsf/?rev=8820&view=rev
Author: brutzman
Date: 2013-01-03 23:35:00 +0000 (Thu, 03 Jan 2013)
Log Message:
-----------
better descriptions
Modified Paths:
--------------
trunk/AuvWorkbench/configuration/templates/c_avcl.xml
Modified: trunk/AuvWorkbench/configuration/templates/c_avcl.xml
===================================================================
--- trunk/AuvWorkbench/configuration/templates/c_avcl.xml 2013-01-03 23:33:53 UTC (rev 8819)
+++ trunk/AuvWorkbench/configuration/templates/c_avcl.xml 2013-01-03 23:35:00 UTC (rev 8820)
@@ -13,9 +13,9 @@
</avcl>
<report>
<generators>
- <xslt fname="AvclMissionMetadataToHtml.xslt" extension="html" description="Generate AVCL Post-mission Report" />
- <xslt fname="AvclTelemetryToX3D.xslt" extension="x3d" description="Generate X3D for 3D visualization" />
- <xslt fname="AvclToKml.xslt" extension="kml" description="Generate KML for map/globe visualization" />
+ <xslt fname="AvclMissionMetadataToHtml.xslt" extension="html" description="Generate AVCL Post-Mission Report" />
+ <xslt fname="AvclTelemetryToX3D.xslt" extension="x3d" description="Generate X3D graphics for 3D visualization" />
+ <xslt fname="AvclToKml.xslt" extension="kml" description="Generate KML placemarks for map/globe visualization" />
</generators>
</report>
</AUVworkbenchConfiguration>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bru...@us...> - 2013-01-03 23:34:01
|
Revision: 8819
http://xmsf.svn.sourceforge.net/xmsf/?rev=8819&view=rev
Author: brutzman
Date: 2013-01-03 23:33:53 +0000 (Thu, 03 Jan 2013)
Log Message:
-----------
consolidation complete
Modified Paths:
--------------
trunk/AuvWorkbench/configuration/templates/c_avcl.xml
Modified: trunk/AuvWorkbench/configuration/templates/c_avcl.xml
===================================================================
--- trunk/AuvWorkbench/configuration/templates/c_avcl.xml 2013-01-03 21:54:28 UTC (rev 8818)
+++ trunk/AuvWorkbench/configuration/templates/c_avcl.xml 2013-01-03 23:33:53 UTC (rev 8819)
@@ -14,10 +14,8 @@
<report>
<generators>
<xslt fname="AvclMissionMetadataToHtml.xslt" extension="html" description="Generate AVCL Post-mission Report" />
- <xslt fname="AvclTelemetryToX3D.xslt" extension="x3d" description="Generate X3D for 3D visualization" />
- <!-- TODO consolidate -->
+ <xslt fname="AvclTelemetryToX3D.xslt" extension="x3d" description="Generate X3D for 3D visualization" />
<xslt fname="AvclToKml.xslt" extension="kml" description="Generate KML for map/globe visualization" />
- <xslt fname="AvclToKmlAlternate1.xslt" extension="kml" description="Curt alternate: generate KML for map/globe visualization" />
</generators>
</report>
</AUVworkbenchConfiguration>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|