These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

jEveAssets 4.1.2 (2017-06-07)

First post
Author
Johann Hemphill
Hedion University
Amarr Empire
#1181 - 2017-04-25 06:33:19 UTC  |  Edited by: Johann Hemphill
I am interested in trying a dev build. Yes, please!

Modifying jmemory.properties did not fix the missing Transactions and Journal.

I tried changing the line in jmemory.properties to xmx=2g and xmx=3g using wordpad on 64-bit Windows 10, but the software silently refused to launch and would only work again when I changed it back to a 1. I tried changing to xmx=4g but the JVM launcher reported: "Error: Could not create the Java Virtual Machine. A fatal exception has occurred." It turned out I was using 32-bit Java. So I installed the latest 64-bit version and was able to get jmemory.jar running with xmx=4g. I just now did a partial update with only Journals and Transactions checked. Both the Transactions and Journal tabs are still completely empty even with all filters cleared.

With all the additional memory space, my stockpile minimum quantity update delay was reduced from minutes to seconds, but it still makes my fans spin up so I'm glad there's room for optimization.

Edit: Odd. When I left the program alone for an hour and looked again, some data had appeared the Journal and Transactions tabs, but was out of date by weeks. Most recent journal entry was from April 10th, and most recent transaction from February 1st.
Golden Gnu
Lobach Inc.
#1182 - 2017-04-25 07:27:18 UTC  |  Edited by: Golden Gnu
@Johann Hemphill
Thank you for reporting back :)

1) Memory: I forgot to tell you you need Java 64bit, to use more than 3g. Good job figuring out yourself. I'm happy to hear that it's working now.

2) I will look at the Journals and Transactions code today, hopefully I will be able to find the problem.

3) The optimization I found for the stockpile, so far, reduce the heaviest part of the stockpile code from 1300ms to 140ms. That is about 10 times faster. I'm very happy about that and hope it will make a difference for you too. I also, have to thanks you for reporting the problem. I would not have profiled the code if you had not reported it and everyone will benefit of a more responsive Stockpile Tool, once the changes are released. I'm planing to release it as a bug fix, as it's such an important change.

I will try my best to find the Journals and Transactions bug and then I will send you a dev build to test.

EDIT:
I found the Journals and Transactions bug.
I will skip the dev build and instead release a bug fix release later today.
With the following fixes:
-Stockpile optimization (done)
-Missing Journals and Transactions (done)
-Better handling of account editing (done)
-Fixed reprocessing calculations (will be done today)

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

Golden Gnu
Lobach Inc.
#1183 - 2017-04-25 15:07:39 UTC  |  Edited by: Golden Gnu
jEveAssets 4.0.1 released

Code:
-Stockpile Optimization

Bug Fixes:
-Journals and Transactions are missing
-Better handling of account editing
-Fixed reprocessing calculation

Notes:
Thanks to everyone how reported the bugs fixed in this version.
A special thanks to Johann Hemphill for making me profile the stockpile tool.

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

KenFlorian
Jednota Inc
#1184 - 2017-04-27 14:01:48 UTC
I just discovered the "Stockpile" feature.

I do not understand how to populate the "Buy Orders", "Sell Orders" etc...columns.

I was hoping that these columns would accumulate from, and populate with my,. active orders so that at any given time the "Shopping List" would tell me what additional orders, if any, I need to place.

Guidance greatly appreciated.

Golden Gnu
Lobach Inc.
#1185 - 2017-04-27 17:10:14 UTC
@KenFlorian
Edit stockpile > Include
Let you include market orders etc.
Only assets are selected by default.
You can include/exclude for each location in the stockpile.

The shopping list is mostly to copy the values to a human readable format, but, does allow you to select multiple stockpile, making it useful for figuring out how much you need to fill multiple stockpiles.

The Stockpile Tool allow for a lot of advanced stuff so it ends up being quite complex to use. Please, feel free to ask any additional questions you might have, I'm happy to help, the best I can :)

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

KenFlorian
Jednota Inc
#1186 - 2017-04-27 17:20:10 UTC
Thank you!
KenFlorian
Jednota Inc
#1187 - 2017-04-28 13:09:13 UTC
Where, and in what form, does the data exist on disk?

I'm thinking about doing a bit of manual manipulation of it by trying to access the downloaded data programmatically, rather than exporting.
salacious necrosis
Garoun Investment Bank
Gallente Federation
#1188 - 2017-04-28 13:39:28 UTC
KenFlorian wrote:
Where, and in what form, does the data exist on disk?

I'm thinking about doing a bit of manual manipulation of it by trying to access the downloaded data programmatically, rather than exporting.


Look in your .jeveassets directory (location depends on your OS). You'll find account data under the profiles directory. The format is XML.

Best documentation I've found (GG can obviously answer this better) is to look at the code itself here:

https://github.com/GoldenGnu/jeveassets/tree/master/src/main/java/net/nikr/eve/jeveasset/data

The data reader/writers are here:

https://github.com/GoldenGnu/jeveassets/tree/master/src/main/java/net/nikr/eve/jeveasset/io/local

Use EveKit ! - Tools for EVE Online 3rd party development

KenFlorian
Jednota Inc
#1189 - 2017-04-28 14:38:15 UTC
Thanks salacious.

I overlooked the "." in the folder name.
Golden Gnu
Lobach Inc.
#1190 - 2017-04-28 18:18:39 UTC
@KenFlorian
The API data is, as salacious necrosis pointed out, stored in XML, in the profile directory. Some stuff is stored in the data directory, specifically the settings.xml file.
However, everything is stored in the format returned by the API, that means most of the data are just IDs and not very useful if you want to actually understand the data. It also, does not include any price data. That is why I would recommend you use the export feature, as that data have the IDs converted to names. But, ofc. it's 100% up to you :)

The export tool is rather powerful allowing for both the use of filters and saved column selections (views). It also support both csv and sql that should make the data very accessible to modify.

The only real exception are stockpile export, that use the exact same format as in the settings.xml file. and filter export that use a format that are mostly human readable.

Also, if you want to edit the XML files you will need an editor that supports UTF-16 (the format was chosen to support the Chinese language)

Feel free to continue asking questions, until you got it all figured out :)

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

KenFlorian
Jednota Inc
#1191 - 2017-04-28 19:02:19 UTC  |  Edited by: KenFlorian
@GN

Very helpful.

I know a small amount of SQL. Is the SQL you export for MS SQL Server, MySQL...other?

Trying to run script in MS SQL throws error

Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'IF'.
Tonto Auri
Vhero' Multipurpose Corp
#1192 - 2017-04-28 19:27:41 UTC
KenFlorian wrote:
I know a small amount of SQL. Is the SQL you export for MS SQL Server, MySQL...other?

MySQL.
You can tell by the identifier quoting.

Two most common elements in the universe are hydrogen and stupidity. -- Harlan Ellison

KenFlorian
Jednota Inc
#1193 - 2017-04-28 19:28:52 UTC
yea...thanks...slowly but surely I learn.

Appreciate the help!
Golden Gnu
Lobach Inc.
#1194 - 2017-04-29 07:39:39 UTC
@Tonto Auri
Thank you for, once again, providing support for the jEveAssets users Big smile

I don't know a lot about databases, so, I will ask you:
Would it be possible to support both MySQL and MS SQL in a single format?
Or would I need to make a separate option to export to MS SQL, if I wanted to add support for it?

@KenFlorian
Keep hacking at it and just ask here, whenever you hit a problem you can't solve yourself :)

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

Johann Hemphill
Hedion University
Amarr Empire
#1195 - 2017-05-02 18:52:23 UTC  |  Edited by: Johann Hemphill
Feature Request for Stockpile Shopping Lists:

Right now the shopping list includes everything required to bring the stockpile up to 100% level.
In practice, the only items that need to be restocked are the ones that are actually running low.

Could a "Low Stock Only" function be introduced as outlined in the following image?

A checkbox to limit the shopping list to items with low surplus %
Golden Gnu
Lobach Inc.
#1196 - 2017-05-02 19:09:52 UTC  |  Edited by: Golden Gnu
@Johann Hemphill
It have been a while since I worked on the shopping list, but, I would assume (without looking at the code) that changing the "percent full" would do the trick? So set it to 60% (per your settings) should do the trick?

Edit:
Thanks for the high effort feature suggestion. A picture does indeed say a thousand words. And I'm not declining the feature suggestion, just asking if the current feature can be used instead :)

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

Johann Hemphill
Hedion University
Amarr Empire
#1197 - 2017-05-02 21:32:19 UTC
Golden Gnu wrote:
@Johann Hemphill
It have been a while since I worked on the shopping list, but, I would assume (without looking at the code) that changing the "percent full" would do the trick? So set it to 60% (per your settings) should do the trick?

Edit:
Thanks for the high effort feature suggestion. A picture does indeed say a thousand words. And I'm not declining the feature suggestion, just asking if the current feature can be used instead :)

Thanks for the compliment on my picture :)
The percent full function, at first glance, looks like it might fulfill this function, but it does something entirely different. It will make a shopping list such that when purchased and added to the stockpile, every quantity will be at X% of target level.

Example: If my target level for Acolyte II is 100, and I have 35 in stock, and open shopping list set to 75 percent full, it will direct me to buy [ (100 * 75%) - 35 ] = 40 of them so that my final stock level is 75.

I have trouble imagining a use case for this. Perhaps it could be repurposed.
Golden Gnu
Lobach Inc.
#1198 - 2017-05-03 08:15:28 UTC
@Johann Hemphill
You're right, the percent full is the same as multiplier in the stockpile tool. I think it's useful, though and I'm pretty sure it was a feature request, from a long time ago.

It does not fit your needs, as it changes the needed amount. What you need is to hide items that are above X% full.
I think allowing you to set the percent yourself is the best option vs just a checkbox, what do you think?

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

KenFlorian
Jednota Inc
#1199 - 2017-05-03 11:26:01 UTC
Golden Gnu wrote:
@Johann Hemphill

I think allowing you to set the percent yourself is the best option vs just a checkbox, what do you think?


This is the more sustainable, internally consistent method.


KenFlorian
Jednota Inc
#1200 - 2017-05-03 11:35:15 UTC
The shopping list column or feature I would like is

If Target < Total Stock + Buy Orders

then set Shopping List = Target - Total Stock + Buy Orders