Something tells me this library isn't going to be useful... [The Openscript/JDE Thread]
-
The birds are chasing the fox in that picture, but the fox was asking for it.
thank you TinEye
-
all IO exceptions are assumed to be file missing.
try { //make a deep copy of an object holding a million references and representing the whole business of a large company for the whole year } catch (Exception e) { throw new Exception("There's already such an object for this year!"); }
You know, aside from parsing errors, database errors, consistency errors, validation errors, network errors, error errors, and non-errors, that covers almost all possibilities!
-
-
.... how the Flagnar does Oracle get away with this Sephiroth‽
-
THIS IS SOFTWARE FOR TESTING SOFTWARE.
THE INTENDED END USER WORKS IN SQA. TESTING SOFTWARE.
I don't even.
-
.... how the Flagnar does Oracle get away with this Sephiroth‽
Alright, it's decided. Coal is going for $46.32/short ton, you can fit 121 tons into a typical aluminum body coal gondola, and there are oh, 135 cars in your average coal unit train...that makes for $756637.20 in coal...I suppose we can round to an even million to cover price fluctuations, tariffs, and car lease. Anyone want to start a pot?
EDIT: unfortunately, there isn't a place to put a unit train down near the Oracle HQ...or probably near Ellison's mansion, either (the nearest team tracks to Oracle HQ only hold a few cars a piece).
-
....... i get the sneaking suspicion that was a joke that passed over me on a suborbital hop....
-
...How can a table have 40 columns, 0 rows, and NO CHILD ELEMENTS.
TDEMSYR.
-
It's actually empty, and either the previous table parsed has 40 elements, or 40 is some default, or it's just the value that happens to occupy that position in the stack?
Discount the last one if this is java code.
-
This is Java.
System.out.println(resultsGrid.getColumnCount() + "x" + resultsGrid.getRowCount()); List<DOMElement> children = resultsGrid.getChildren(); System.out.println(children.size() + " children"); for (DOMElement child : children) { System.out.println(child.getTag()); }
Output:
40x0 0 children
-
ouch...... that's not good....
-
I got it to say 40x18 by waiting longer between clicking and trying to parse the DOM. So that's one mystery solved. It still says 0 children. I think that means 0 logical children, not 0 child elements on the DOM, because a JDE grid is considered one "element" with no child elements because you're not supposed to break it down.
The page, of course, looks something like this:
-
Now, the fact that we abuse the hell out of it here...
Generally only on /t/1000, it tends to have meaning elsewhere, hence the site specific badges that exclude that thread to replace the stock ones.
-
I almost got it working if I put an obscenely long wait time in between. But now I have to figure out what column index. Given this source code:
In what universe is column 5's result "9" but column 2's is " "? If we're going by actual order and ignoring colindex, then column 5 should be bunch-of-spaces-then 101, but it's 9, so we're going by colindex, and colindexx 2 is bunch-of-spaces-then-101, but all I'm getting are spaces.
-
The answer was 3. Column 3.
FML.
-
Any of them contain spaces only?
You getting 18 columns now or still 40?
Can you just dump the lot of them to console and correlate that way?
-
Any of them contain spaces only?
Most of them.
You getting 18 columns now or still 40?
40
Can you just dump the lot of them to console and correlate that way?
Way ahead of you.
int numCols = resultsGrid.getColumnCount(); for (int i = 0; i < numCols; i++) { System.err.println(i + ") " + resultsGrid.cell(1, i).getValue()); }
prints:
0) 1) GRAND TOTAL: 2) 3) 20 4) 5) 9 6) 7) 11 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 9 20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30) 31) 32) 33) 34) 35) 36) 37) 38) 39)
Which just about makes sense once I realize the rows are 0-indexed, since that's the wrong row.
Filed under: Summon @OffByOne
-
Filed under: Summon @OffByOne
I have awoken from my slumber.
What is your bidding, Mistress Fairy of the Cupcakes?
-
Representative comment:
/* basic structure of an EOne Grid appears to be as follows: * (Grid ID: 0_1) * <!-- Note: This entire structure is typically nested two tables deep inside a span, * but this seems to be the root of the part we care about: --!> * * <table id="jdeGrid0_1"> * <tbody> * <tr> <!-- This is the header row --> * <td> * <div id="jdeGridHeaderBack0_1" gridid="0_1"> * <table id="jdeGridheaderData0_1"> * <tbody> * <tr id="qbeRow0_1" gridid="0_1"> * <!-- Row appears to be optional. Seems to have to do with visualAssist. --> * <td class="JSQBECell" colIndex="C"></td><!-- Repeats --> * </tr> * <tr id="hdrRow0_1" gridid="0_1"> * <td class="JSSelectHeader"> <!-- This is the "select all" checkbox --> </td> * <td class="JSGridHeaderCell" colindex="X"></td> <!-- Repeats as needed --> * </tr> * </tbody> * </table> * </div> * <div id="freezeGrid0_1"> <!-- This is the freeze pane like in excel --> </div> * </td> * </tr> <!-- End header row --> * <tr gridID="0_1"> <!-- Start of contents --> * <td> * <div id="jdeGridBack0_1"> * <div id="jdeGridVirtualAbove0_1"> <!-- no idea yet, always empty --></div> * <table> * <tbody> * <tr> * <td> * <div id="jdeGridVirtualBefore0_1"> <!-- no idea, always empty --></div> * </td> * <td> * <table id="jdeGridData0_1"> * <tbody> * <tr> * <td> * <table id="jdeGridData0_1.0"> * <tbody> * <tr gridid="0_1" id="G0_1_R0" realrow="0"> * <td colindex="-1"> <!-- Row select button --> </td> * <td colindex="-2"> <!-- Row has attachment symbol space --> </td> * <td colindex="Y" class="JSGridCell" ispopupassociated="true"> <!-- Repeats for cells --></td> * </tr> <!-- Repeat for more rows --> * </tbody> * </table> * </td> * </tr> * </tbody> * </table> * </td> * </tr> * </tbody> * </table> * <div id="jdeGridVirtualBelow0_1"> <!---Always empty. --></div> * </td> * </tr> <!-- End of table contents --> * </tbody> * </table>
-
..... thank the goddess that you get to use webdriver now...
-
I still have to deal with that horrid HTML, but at least I can deal with it sanely. I'm re-implementing the utility methods using Webdriver and they're each only a few lines long, with much more helpful documentation and sensible exceptions now, because I wrote them myself XD I don't understand why the stack trace for "get cell contents" includes two layers of methods with "Javascript" in the name in the first place >.>
-
-
That reminds me a lot of the first website I ever built - think I had nested tables up to 6 levels deep.
-
Something like this should warrant a separate HTTP status code.
I propose 555 - Developer is a jackass, as a complement to @remy's 455
Filed under: Yes, 5xx, I believe server should be pissed to even be asked to serve this
-
nested tables up to 6 levels deep
Was that after people stopped using Netscape 4? Because I'm pretty sure Netscape 4 wasn't able to render tables nested that deeply.
-
Can we bring that feature back? Please?
-
That reminds me a lot of the first website I ever built - think I had nested tables up to 6 levels deep.
Then there's the open-source project I worked on where the UI guy held fast that everything should be done using divs. Even tabular data: Divs put in table-mode somehow.
Caused frequent rendering issues with firefox on slow hosts. Probably to do with incremental rendering. Never had a user call us out on it though.
-
feature
Can you please include a trigger warning the next time you talk about "feature[s]" of shitty old browsers? There are web developers on this forum…
-
Oh come on, how bad can it...
<!--[if IE 6]>
http://static.comicvine.com/uploads/scale_super/10/108495/3583722-5750828757-fetal.gif
-
-
Somewhere around 2000 - I remember using IE5 :gross:
-
Then there's the open-source project I worked on where the UI guy held fast that everything should be done using divs. Even tabular data: Divs put in table-mode somehow.
I've met some of those anti-table people. Life is a lot easier when you use things for what they are designed for.
-
Damn that's a short lifetime for that object.... (highlighted line threw the error)
-
...... CURSE YOU ORACLE!
<body is invalid>
-
int contentsInt = (contents.isEmpty()? 0 :Integer.parseInt(contents)); //JDE is allergic to 0s
-
oh, excuse me:
int contentsInt = (contents.trim().isEmpty()? 0 :Integer.parseInt(contents)); //JDE is allergic to 0s
Because JDE is also allergic to empty
-
JDE
I read that as Java Desktop Environment initially.
The screams were heard for miles.
-
I think this might be worse.
-
#WHO ON EARTH FORMATS NEGATIVE NUMBERS LIKE
java.lang.NumberFormatException: For input string: "58-" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:492) at java.lang.Integer.parseInt(Integer.java:527) at com.[company].JDEFramework.Utilities.InventoryUtils.getNumItemsInWarehouse(InventoryUtils.java:47) at debugTests.test(debugTests.java:60)
-
Probably the guys who map January to zero.
-
-
WHO ON EARTH FORMATS NEGATIVE NUMBERS LIKE
Poles?
Well, at least it offered "sucking"...
-
I just want to see the NumberFormatException Java throws when it encounters zoned packed decimal for the first time.... ;)
Filed under: yes, I have parsed that, and it is not fun
-
Go with ducking.
-
WHO ON EARTH FORMATS NEGATIVE NUMBERS LIKE "58-"
I've seen that in old COBOL. No idea why, though. It probably dates back to some mainframe with a screwball int storage format.
-
I think it's used in some financial situations.
You also need to look out for (10) for -10
-
@The screenshot said:
☒ Ignore 'fucking' during the current session
I don't know why, but this made me giggle.
-
You also need to look out for (10) for -10
But only so you can yell at accountants who do that.
-
four hours was not enough sleep for this shit...
ETA: THIS EXACT XPATH METHOD WORKED ON AN IDENTICAL GRID EARLIER IN THE TEST fml
-
My boss: "You want a few days break from JDE?"