fix for (FP) problem

Subscribe to fix for (FP) problem 43 post(s), 22 voice(s)

← Previous 1
 
Avatar hobbes 12 post(s)

Hello everybody.

here is a fix for the (FP) problem. For those, who want to have an explanation, read on. For those, who simply want to fix it, please see the steps later:

Update
the fixed jars can be downloaded from here:
jar: http://www.filedropper.com/jbidwatcher-252
exe: http://www.filedropper.com/jbidwatcher-252_1

The problem:
ebay has changed the layout again, thus breaking the parser of jBidWatcher. Since the new layout is not delivered from all eBay sites, we sometimes see it working and sometimes we face the (FP) problem. All proposed fixes so far have one thing in common, they waste time and in doing so they increase the chance to get a different working ebay server the next time you try.

But: if you were able to enter a snipe one time, jBidWatcher will fire the snipe, even if the auction is marked as (FP) later. So even if ebay changed their layout, it is jBidWatcher that locks us out of bidding.

First solution: Simply declare all auctions as bidable (non fixed price) auctions.
This is easy, the code is in “src\com\jbidwatcher\auction\AuctionInfo.java”

protected boolean isFixedPrice() { return getBoolean(“fixed_price”); }

Simply return “false” from this function and you are able to sinpe on any auction. But we loose the current price detail of the auction, so better fix the real problem.

Second solution: fix the parser
I did not put much investigation, what really changes from one server to another. I simply took one (FP) auction and checked, why it is not working correctly. My investigation shows an additional line between the price and the amount of bidders:

Approximately US $11.58

We need to filter this line in the parser. I rewrote the first part of the getRawBidCount in “src\com\jbidwatcher\auction\server\ebay\ebayAuction.java” function:

private String getRawBidCount(JHTML doc) {
List bidSequence;
String rawBidCount;
bidSequence = doc.findSequence(T.s(“ebayServer.currentBid”), “.*”, “.*”, “.*”, “[0-9]+”, “bids?”);
if(bidSequence != null) {
rawBidCount = bidSequence.get(4);
} else {
bidSequence = doc.findSequence(T.s(“ebayServer.currentBid”), “.*”, “.*”, “[0-9]+”, “bids?”);
if(bidSequence != null) {
rawBidCount = bidSequence.get(3);
} else {
bidSequence = doc.findSequence(T.s(“ebayServer.currentBid”), “.*”, “[0-9]+”, “bids?”);
if(bidSequence != null) {
rawBidCount = bidSequence.get(2);
} else {
bidSequence = doc.findSequence(T.s(“ebayServer.currentBid”), “.*”, “[0-9]+ bids?”);
if(bidSequence != null) {
String bidsString = bidSequence.get(2);
rawBidCount = bidsString.substring(0, bidsString.indexOf(’ ’));
} else {
rawBidCount = doc.getNextContentAfterRegex(T.s(“ebayServer.bidCount”));
}
}
}
}
….
}

This will filter the additional line and now all my auctions are working again.

How to compile from source:
1.) Get und unpack the jbidwatcher source from jbidwatcher.com
2.) Get and install the JDK6 from oracle. If you choose the jdk7, you have to fix another compile error in src\com\jbidwatcher\ui\SearchInfoDialog.java
I simply renamed the function getType to getSearchType. Search for the term in the Searchinfodialog.java. You have to replace the name twice.

3.) Get and unpack ant 1.8.4 from http://ant.apache.org
4.) Add the ant bin directory to your PATH variable
5.) in a texteditor modify the ebayAuction.java file as mentioned above
6.) go to the root folder of the jBidWatcher source
7.) modify the build.xml file and remove the following node

8.) run ant. if it fails, open a command line and do the following:

cd PATH_TO_YOUR_JBIDWATCHER_FOLDER
set PATH=%PATH%;PATH_TO_YOUR_ANTFOLDER/bin
set ANT_HOME=PATH_TO_YOUR_ANT_FOLDER
set JAVA_HOME=PATH_TO_YOUR_JAVA_SDK_FOLDER
ant
java -Xmx512m -Xms256m -jar JBidwatcher-2.5.2.jar

This will fire up jBidWatcher…

If there is interest, I can also upload my jar file to a central location.

Hope that helps to fix the problem. At least, I can snipe successfully again :-)
D. Hobbes

 
Avatar afleance 44 post(s)

D.,

Thanks for looking into the problem.

JBidwatcher is hosted on github => https://github.com/cyberfox/jbidwatcher, so if you setup a github account, you can create a local repository of JBidwatcher. That would allow you to post your patch as a pull request on the jbidwatcher project. That is probably the easiest way for others (and Morgan too) to consume your patch.

Thanks

 
Avatar DIDI 22 post(s)

I wish I could understand that :(

 
Avatar janus 5 post(s)

to quote a line from “Murder By Death” – “I understand it, but do not like it”. ;-)

jbid is now unusable – from this point on, i’ll do everything on my phone and use an android app instead.
i’m uninstalling it as I type and it will also allow me to uninstall java too.
perhaps i’ll return if it is updated, but I may have no need for it.

 
Avatar Philip 34 post(s)

Many thanks for all your hard work. For me, I’m afraid that it’s more effort than I’m currently prepared to put in just so that I can snipe some auctions for things that I don’t really need, but hopefully it will help Morgan to release a new executable in the near future.

 
Avatar hobbes 12 post(s)

@janus: you are free to do whatever you want. I decided to step forward and fix the problem

@afleance: I finally succeeded to generate the pull request.

I have uploaded the jar and exe to filedropper: (if there is a better location, please let me know)

jar: http://www.filedropper.com/jbidwatcher-252
exe: http://www.filedropper.com/jbidwatcher-252_1

P.S.: Today one of my auctions had the (FP) problem again, but it disappeared in the next update. I will look into this later.

 
Avatar janus 5 post(s)

@hobbes: sorry for posting my complaint in this thread and I wasn’t having a go at you for your effort, but I merely got fed up waiting for jbw to get officially “fixed” – though even by your own admission, it seems your fix isn’t 100% working.

 
Avatar dubh 1 post

hobbes: I implemented your solution, but there was no change in operation. I was trying to snipe a US auction, too.

I then changed the backup server from ebay.co.uk to ebay.com. I thought I had fixed the problem because the auction displayed correctly. However, when I refreshed and/or reloaded Jbidwatcher, the problem returned.

Are you sure you’re not running into a false positive?

 
Avatar davep 15 post(s)

I just downloaded the .exe file, but unfortunately it wouldn’t run (or terminated immediately). Windows XP if that is relevant. Java 1.6.0_35-b10

Any hints on making it work gratefully received.

Thanks
Dave

 
Avatar Hoddy 108 post(s)

Try downloading it again. I had the same problem when I downloaded it the first time. Check the file size it should be 4445 Kb.

Hoddy

 
Avatar hobbes 12 post(s)

@dubh: do you still have the problem? Please look into the .jbidwatcher/auctionsave folder. You should find a gz file with the saved auction number there. If your are on windows and you are using TotalCommander, simply enter into the gz file and press F3 on the contained html file. You will see HTML file with the html tags removed. Only the human readable content as text. Then search for the current auction price, e.g. on one of my auctions it looks like:

Current bid:
EUR 90.00
Approximately US $116.12
[ {1 bid} ]

This block looks different all the time. Sometimes it is missing the “current bid:”, sometimes I see the “Approximately US $xxx” part. The problematic function tries to find a sequence of “Current bid:” * * * * * X bid. THe number of “*” depend on the amount of additional text between the Current bid and the number of bids.

Please post your block here. Then I can try to find a solution.

Hobbes

 
Avatar DIDI 22 post(s)

I really appreciate that you are trying to help, but could you possibly explain a little more for we poor illiterate folk. :lol: Is this only for windows?? I really would love to be able to use JBidwatcher again. I have always said I would be very happy to pay for this and i’m sure hat would apply to most who use it. We use it because it works the way we want it to, and usually really well, not because it is free.

 
Avatar mrmarkf 5 post(s)

I’ve tried running the exe but nothing seems to happen, no message or anything. Windows 7 Pro.

 
Avatar hobbes 12 post(s)

Hello DIDI,
jbidwatcher stores all downloaded webpages in a folder called ~/.jbidwatcher/auctionsave. On windows 7 this is in your users home folder, e.g c:\home\hobbes\.jbidwatcher\auctionsave. Please navigate to this folder and search that has the same name as the auction number. You will find a jpg, and some gz (gnu zip) files. The best would be, if you send me a gz file of one of your problematic auctions. Then I can check myself what is going on. Send it to “jbidwatcher at gmx.de”. Replace the “at” with the “@” sign.

Hobbes

 
Avatar hobbes 12 post(s)

Hello mrmarkf
it seems, that the sharing website will cause problems. I have crated a skydrive account. Can you try: http://sdrv.ms/SJImt3
Hobbes

 
Avatar davep 15 post(s)

That size of 4445kB doesn’t sound right, the old version was 14233kB

Dave

 
Avatar hobbes 12 post(s)

I didn’t knew, that file sharing is so difficult :-)
Here are the correct sizes:

JBidwatcher-2.5.2.exe 4.550.878 Bytes MD5: a8824794aadd6e9ceb13f9447d88a029
JBidwatcher-2.5.2.jar 4.386.526 Bytes MD5: 1aa1e98d207a487cdee584d0db188b9f

Hobbes

 
Avatar davep 15 post(s)

I agree on the sizes of your files (exe = 4,550,878, jar = 4,386,526) , just don’t see how come the new .exe is so much smaller than the original 2.5.2 .exe..

Either way it doesn’t run – just terminates with no messages.

Dave

 
Avatar hobbes 12 post(s)

Which version of java do you have installed? I compiled against java7
Did you also tried the jar file?
Run it from the commandline as:
> java -Xmx512m -Xms256m -jar JBidwatcher-2.5.2.jar

Hobbes

 
Avatar mrmarkf 5 post(s)

I’m still getting the same as the others, it just does nothing, no messages or anything.

 
Avatar DIDI 22 post(s)

Slight problem . I have a mac. :)

 
Avatar DIDI 22 post(s)

From another thread, with thanks to Roger W. Simple trick to allow sniping, use the hammer symbol to place snipe.

 
Avatar Frank P. fro... 71 post(s)

(MacOS 10.6.8) I downloaded the JBidwatcher-2.5.2.jar, opened the Package JBidwatcher-2.5.2/Contents/Resources/Java/ and changed JBidwatcher.jar for the downloaded jar file, renamed it to JBidwatcher.jar and started the application, what I got was:

Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: [LaunchRunner Error] The main class “com.jbidwatcher.app.JBidWatch” could not be found.
Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: Exception in thread “main” java.lang.NullPointerException
Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: at apple.launcher.LaunchRunner.run(LaunchRunner.java:113)
Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
Oct 11 12:33:48 imac24 [0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317: at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Oct 11 12:33:48 imac24 com.apple.launchd.peruser.501204 ([0×0-0×136d36c].com.jbidwatcher.JBidwatcher79317): Exited with exit code: 1
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: [LaunchRunner Error] The main class “com.jbidwatcher.app.JBidWatch” could not be found.
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: Exception in thread “main” java.lang.NullPointerException
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: at apple.launcher.LaunchRunner.run(LaunchRunner.java:113)
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
Oct 11 12:34:27 imac24 [0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320: at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Oct 11 12:34:27 imac24 com.apple.launchd.peruser.501204 ([0×0-0×136e36d].com.jbidwatcher.JBidwatcher79320): Exited with exit code: 1
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: Exception in thread “main”
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: java.lang.UnsupportedClassVersionError: com/jbidwatcher/app/JBidWatch : Unsupported major.minor version 51.0
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at java.lang.ClassLoader.defineClass1(Native Method)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at com.simontuffs.onejar.JarClassLoader.defineClass(JarClassLoader.java:803)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:710)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at com.simontuffs.onejar.JarClassLoader.loadClass(JarClassLoader.java:630)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at com.simontuffs.onejar.Boot.run(Boot.java:336)
Oct 11 12:34:47 imac24 [0×0-0×136f36e].com.apple.JarLauncher79322: at com.simontuffs.onejar.Boot.main(Boot.java:168)

application fails to start :-(

 
Avatar jakjak 2 post(s)

Used this fix as follows:

WinXP SP3
JBidwatcher-2.5.2 already installed
Exited JBidwatcher
downloaded FP fixed JBidwatcher-2.5.2.exe from link above
went to the C:\Program Files\CyberFOX Software\JBidwatcher2\ directory
renamed existing JBidwatcher-2.5.2.exe to JBidwatcher-2.5.2.exe.old
pasted in the new JBidwatcher-2.5.2.exe

opened JBidwatcher to the auction list
right click/Update Auction on the FP problem auctions

each one updated with expected “time left” and “current” price values

hope this helps and THANKS!!! to hobbes!!!
- jak

 
Avatar doomkrad 54 post(s)

I just switched to hobbes’ patched 2.5.2 version.
Current prices and times left are now correctly displayed (no snipes needed to fire yet). Thank you hobbes!

← Previous 1