maurerit / eveapi Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/eveapi
Automatically exported from code.google.com/p/eveapi
What steps will reproduce the problem?
1. Request character sheet from API
2. Do getAttributeEnhancers()
3. Try to do .getAttribute()
Line 23 of the AtrributeEnhancer class read as:
abstract String getAttribute();
Change to:
abstract public String getAttribute();
to fix this problem. Extending classes will need to have their overriding
methods changed as well.
I've changed locally, recompiled and tested, works well.
Original issue reported on code.google.com by [email protected]
on 23 Sep 2009 at 7:20
The CharacterSheetHandler is unable to handle the willpower attribute, hence
leading to a NullPointerException. Adding the following code snippet to the
startElement method will fix the issue,
else if (qName.equals("willpowerBonus"))
attributeEnhancer = new WillpowerBonus();
Original issue reported on code.google.com by [email protected]
on 26 May 2012 at 5:44
I was looking into the CachingConnector implementation and found a problem with
the implementation of the equals() and compareTo() methods in the classes
ApiRequest and ApiAuthorization.
Those are using the hashCode to determine equality.
This is very dangerous, as it can lead to collisions.
In case of the CachingConnector, where the ApiRequest is used as the key for
the cache map it could lead to a security problem, where you retrieve a
different response from the map, just because the hashCode of the two
ApiRequests are the same.
hashCode can only verify that two objects with different hashCodes are
different, but not that two object with the same hashCode are the same.
You normally use hashCode for performance, e.g. if you have a very big list
with objects where the equals() method is expensive, you can check for the fast
hashCode method. Then you maybe have 3 objects left with the correct hashCode
and then you run the equals method on those.
For example HashMap itself uses this in the containsKey() method used in the
CachingConnector, first uses hashCode, but then verifies the results with
equals() (which, in this case, would unfortunately always have the same result).
I suggest rewriting the equals() methods of ApiRequest and ApiAuthorization and
using this method in the compareTo() as well.
I would also rewrite the hashCode() (as it should be focused on performance,
and using String operations there is not the best way) and move the methods
from ApiAuthorization to its abstract parent ApiAuth (as ApiAuth already has
getters for all relevant fields).
I attached the files for ApiRequest, ApiAuthorization and ApiAuth with changes
I made to hashCode(), equals() and compareTo(). Please have a look at it and
see if you could implement those changes.
P.S. The Java Map/EntrySet implementations (e.g. HashMap) already have
hashCode/equals implementations for their entries, so you don't have to loop
through those, you can just use equals() or hashCode() on the map itself (like
I did in the files attached), it will use the methods in the key and value
objects.
Original issue reported on code.google.com by [email protected]
on 18 Mar 2014 at 7:50
Attachments:
* What steps will reproduce the problem?
1. CharacterLookupParser nameLookup = CharacterLookupParser
.getId2NameInstance();
2. result = nameLookup.getCharacterList(charID);
* What is the expected output? What do you see instead?
I expect "result" to be an instance of CharacterLookupResponse, in order to be
able to check for any error codes. There's no way to do that right now.
Original issue reported on code.google.com by [email protected]
on 12 Oct 2010 at 12:34
Hi there,
This is a patch that does several things:
1. Removes Log4J dependency in AbstractApiParser per issue 16
2. Removes dependency on commons-logging by replacing it with SLF4J's
commons-logging implementation (in pom.xml)
3. Changes dependency on Log4J and SLF4J's Log4J adapter to "test" scope, since
other projects may want to use a different SLF4J adapter. This means they don't
have to exclude the dependencies in their pom.xml.
4. Modifies the API mock URLs to use localhost:8080 instead of localhost:80
because on Linux/MacOS port 80 is not available unless you're root.
Note that a fresh copy of this project (r142) does not do "mvn test" cleanly on
Mac OS X 10.6.5 with JDK 1.6. Change #4 fixes a lot of the problems, but a few
still exist. I'm looking into these.
Failed tests:
facWarStats(com.beimin.eveapi.corporation.factwar.stats.FacWarStatsParserTest)
Tests in error:
serverStatusParser(com.beimin.eveapi.server.ServerStatusParserTest)
serialization(com.beimin.eveapi.CacheSerializationTest)
testName2IdConversion(com.beimin.eveapi.eve.character.CharacterLookupParserTest)
testId2NameConversion(com.beimin.eveapi.eve.character.CharacterLookupParserTest)
Tests run: 61, Failures: 1, Errors: 4, Skipped: 0
Original issue reported on code.google.com by [email protected]
on 4 Dec 2010 at 5:52
Attachments:
> What steps will reproduce the problem?
1. visit
https://api.eveonline.com/eve/CharacterInfo.xml.aspx?characterID=1380128241
2. notice Employment History
3. notice CharacterInfoResponse has no sense of Employment History
> What is the expected output? What do you see instead?
see http://wiki.eve-id.net/APIv2_Eve_CharacterInfo_XML
> What version of the product are you using? On what operating system?
5.0.1-SNAPSHOT (trunk)
> Please provide any additional information below.
Patch is attached
Original issue reported on code.google.com by [email protected]
on 14 Mar 2012 at 8:06
Attachments:
I have been using a modified AbstractApiParser that saves the XML going to the
server. A patch is provided below. This allows the full XML (both ways, to and
from the server) to be viewed. This greatly helps in debugging in my use of
your API. I submit it for your consideration.
Thanks for providing this!
(headers of patch)
### Eclipse Workspace Patch 1.0
#P eveapi
Index: src/main/java/com/beimin/eveapi/AbstractApiParser.java
===================================================================
--- src/main/java/com/beimin/eveapi/AbstractApiParser.java (revision 141)
+++ src/main/java/com/beimin/eveapi/AbstractApiParser.java (working copy)
Original issue reported on code.google.com by [email protected]
on 3 Dec 2010 at 6:50
Attachments:
The CharacterParser is not following the other parsers discipline regarding the
constructor visibility
Constructor should be private, instead of public.
Original issue reported on code.google.com by [email protected]
on 31 Aug 2014 at 2:45
This is what I'm using in my project. It also requires these Maven settings:
<dependency>
<!-- logback plugs into SLF4J as it's actual logger, superceeds Log4J http:/
/logback.qos.ch/ -->
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId> <version>${logback.version}</version>
</dependency>
<dependency>
<!-- logback plugs into SLF4J as it's actual logger, superceeds Log4J http:/
/logback.qos.ch/ -->
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
and the property:
<properties>
<spring.version>3.0.5.RELEASE</spring.version>
<slf4j.version>1.6.1</slf4j.version>
<logback.version>0.9.26</logback.version>
</properties>
It also requires SLF4J:
<dependency>
<!-- Simple logging framework http://www.slf4j.org/ -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
I also add these so replace Log4J, java.util.logging, and commons-logging with
Logback (via SLF4J):
<!-- http://www.slf4j.org/legacy.html for these "over" things -->
<dependency>
<!-- Modern replacement of commons-logging using SLF4J -->
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<!-- Provide Log4J for c3p0's MLog logging -->
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<!-- Redirect java.util.logging -->
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- See http://www.slf4j.org/faq.html on how to omit commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
Cheers
Original issue reported on code.google.com by [email protected]
on 4 Dec 2010 at 8:11
Attachments:
When attempting to get the industry jobs for a character, a
NullPointerException is thrown from IndustryJobHandler:17 -
job.setAssemblyLineID(getLong(attrs, "assemblyLineID"));
I'm using 5.1.3. I would assume due to the removal of slots in the industry
revamp, there is no longer an assemblyLineID field.
Original issue reported on code.google.com by [email protected]
on 30 Oct 2014 at 3:46
mvn install
...
[ERROR] BUILD ERROR
[INFO] ---------------------------------------------------------------------
---
[INFO] Cannot execute mojo: resources. It requires a project with an
existing pom.xml, but the build is not using one.
I'v been checkouted last version from svn read-only
Original issue reported on code.google.com by [email protected]
on 31 Mar 2010 at 9:33
I reviewed the commit diffs for the fix regarding issue 13. SimpleDateFormat is
not thread-safe, so you should modify your DateUtils to either lock the single
SDF that you use, or in the alternative, use a ThreadLocal to do it without
locking. Let me know if you'd like me to provide code for the ThreadLocal
DateUtils implementation.
This is important, for example, for a server application that uses your library
which may be making several API calls simultaneously.
Original issue reported on code.google.com by [email protected]
on 3 Dec 2010 at 6:46
Character Medals response uses two possible formats for responses:
- When the medal was awarded within the character's current corporation, three
attributes are omitted from the response: reason, description, and
corporationID.
- Call to getInt(...) for corporationID in MedalsHandler fails in this case
with a null pointer reference. Root cause is similar to Issue 20, the calls to
getInt(...) and getLong(...) returning nulls when an attribute is missing
rather than a sentinal value or a "NullObject."
- bug is reproduced in trunk (5.0.1-SNAPSHOT)
Patch is provided as attachment.
This patch defines a method hasAttribute(...) in AbstractContentHandler, and
uses that as a guard before attempting to setCorporationID(...) on the
CharacterMedal.
Original issue reported on code.google.com by [email protected]
on 27 Apr 2012 at 4:07
Attachments:
This issue is quite simple really. The tests cases use assertions to
compare different values (as expected). However, when asserting a value
with a specific time, different time zones produce different results. For
example, TEST-com.beimin.eveapi.starbase.DetailParserTest.xml shows a
value comparison that uses Central time. Because this value is hardcoded
in the test, it will only be true when running in CST. I live in Mountain
Standard Time, thus the test fails.
Solution: Remove from all tests all hardcoded timezone values. They will
not pass in other timezones.
Original issue reported on code.google.com by [email protected]
on 1 Mar 2008 at 10:37
[deleted issue]
What steps will reproduce the problem?
1. Call eveapi.character.training.Response.getTrainingEndDate() or
getTrainingStartDate() or getCurrentTime()
2.
3.
What is the expected output? What do you see instead?
Expected a date in coded-in format:
new SimpleDateFormat("MM/dd/yyyy h:mm:ss a"),
from eveapi/character/training/Response.java.
Instead, I get:
"Unparseable date: "2009-12-06 18:19:35"
pos 4
What version of the product are you using? On what operating system?
1.0, windows xp home sp3
Please provide any additional information below.
I'm assuming the parser doesn't like the '-' character, but that's the
format the call returns in a string using getTrainingEndTime() or
getTrainingStartTime(). I can use StartTime and EndTime in place of
StartDate and EndDate, and default Date() for currentTime, but this
exception causes a lot of work-around code.
Original issue reported on code.google.com by [email protected]
on 26 Nov 2009 at 6:13
What steps will reproduce the problem?
1. Open wiki
What is the expected output? What do you see instead?
Expected: reference documentation. Instead: one simple example.
What version of the product are you using? On what operating system?
Latest, GNU/Linux (OpenSuSE 12.3 x64)
Original issue reported on code.google.com by [email protected]
on 28 May 2013 at 6:50
Make a request such as :
https://api.eveonline.com/account/APIKeyInfo.xml.aspx?keyID=<key>&vCode=<vcode>
If the key is expired such that it returns error code 222, it will return a
message and a 403 response.
<eveapi version="2">
<currentTime>2014-01-19 05:14:54</currentTime>
<error code="222">Key has expired. Contact key owner for access renewal.</error>
<cachedUntil>2014-01-20 05:14:54</cachedUntil>
</eveapi>
The 403 response leads to an error, meaning I can't retrieve the error reason
for the error to instruct the user.
com.beimin.eveapi.exception.ApiException:
com.beimin.eveapi.exception.ApiException: java.io.IOException: Server returned
HTTP response code: 403 for URL:
https://api.eveonline.com/account/APIKeyInfo.xml.aspx
at com.beimin.eveapi.connectors.ApiConnector.execute(ApiConnector.java:45)
at com.beimin.eveapi.core.AbstractApiParser.getResponse(AbstractApiParser.java:49)
at com.beimin.eveapi.core.AbstractApiParser.getResponse(AbstractApiParser.java:33)
at com.beimin.eveapi.account.apikeyinfo.ApiKeyInfoParser.getResponse(ApiKeyInfoParser.java:27)
at com.quickcamel.game.eve.kosoverlay.view.fx.controllers.SettingsController.validate(SettingsController.java:215)
at com.quickcamel.game.eve.kosoverlay.view.fx.controllers.SettingsController.save(SettingsController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1446)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:28)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Node.fireEvent(Node.java:6867)
at javafx.scene.control.Button.fire(Button.java:179)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:193)
at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:336)
at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:329)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3311)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3151)
at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3106)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1563)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2248)
at com.sun.javafx.tk.quantum.EmbeddedScene$2$1.run(EmbeddedScene.java:194)
at com.sun.javafx.tk.quantum.EmbeddedScene$2$1.run(EmbeddedScene.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.EmbeddedScene$2.run(EmbeddedScene.java:176)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:176)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:76)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:17)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:67)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.beimin.eveapi.exception.ApiException: java.io.IOException:
Server returned HTTP response code: 403 for URL:
https://api.eveonline.com/account/APIKeyInfo.xml.aspx
at com.beimin.eveapi.connectors.ApiConnector.getInputStream(ApiConnector.java:82)
at com.beimin.eveapi.connectors.ApiConnector.execute(ApiConnector.java:43)
... 62 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for
URL: https://api.eveonline.com/account/APIKeyInfo.xml.aspx
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at com.beimin.eveapi.connectors.ApiConnector.getInputStream(ApiConnector.java:80)
... 63 more
v5.1.2
Original issue reported on code.google.com by [email protected]
on 19 Jan 2014 at 5:41
What steps will reproduce the problem?
1. Try accessing item locations using one of the implementations of
com.beimin.eveapi.shared.locations.AbstractLocationsParser (either for
characters or corporations)
2. getResponse() will cause an ApiException
3. Further debugging indicates the reason for the Exception being wrong
variable types in com.beimin.eveapi.shared.locations.ApiLocation (x, y and z
need to be double, not long), thus the xml parser is unable to map the request
results.
What is the expected output? What do you see instead?
Expected output is an instance of ApiLocation, result is a NullPointerException
caused by wrong variable types, see
http://wiki.eve-id.net/APIv2_Char_Locations_XML
What version of the product are you using? On what operating system?
5.1.3 with Java JDK 1.7.0_45 64bit, OS is Windows 8.1 64bit
Please provide any additional information below.
A fix should be easy by just changing the variably types to double and
modifying the methods for those variables.
Original issue reported on code.google.com by [email protected]
on 3 Feb 2014 at 2:28
Everywhere else uses SLF4J but this still uses the Log4J. There are only two
changes:
1. Change this line:
- protected Logger logger = Logger.getLogger(getClass());
+ protected Logger logger = LoggerFactory.getLogger(getClass());
2. Change associated imports:
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
Now your project has no more dependency on Log4J.
Original issue reported on code.google.com by [email protected]
on 4 Dec 2010 at 7:54
public ApiRequest(ApiPath path, ApiPage page, int version, Map<String, String>
params) {
this(path, page, version, null, params); <-- auth is null
}
temp.append(page).append(version).append(auth.getKeyID()).append(auth.getCharact
erID()).append(auth.getVCode());
^ ^ ^
NPE NPE NPE
Original issue reported on code.google.com by yauhen.lisimau
on 16 Sep 2013 at 11:18
Can you give direction/help with getting GWT and eveAPI to play nice together
in Eclipse?
I've set up Eclipse to pull from the Maven repository (via
http://kiahu.com/tutorial/working-with-gwt-maven-and-the-google-plugin-for-eclip
se/)
I've grabbed a pom.xml that works from:
Whenever I try to compile as a Web App - says "No source code is available for
type com.beimin.eveapi.core.ApiRequest; did you forget to inherit a required
module?"
Also - I'd be willing to pay you in isk for your time helping me set up a
EveApi GWT project in Eclipse.
Original issue reported on code.google.com by [email protected]
on 25 Jul 2012 at 7:04
What steps will reproduce the problem?
Build the project using maven
What is the expected output? What do you see instead?
Code base should build. It does not. Perhaps documenting where this
dependency comes from would provide a workaround.
What version of the product are you using? On what operating system?
r43
Please provide any additional information below.
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) com.betterbe.testutils:testutils:jar:2.0.2
Original issue reported on code.google.com by [email protected]
on 4 Feb 2009 at 8:29
In some classes typeID/locationID is long in other classes it is int
ApiAsset.getTypeID() : int
ApiAsset.getLocationID() : int
ApiMarketOrder.getTypeID() : long
ApiMarketOrder.getStationID() : long
ApiIndustryJob.getInstalledItemTypeID() : long
ApiIndustryJob.getInstalledItemLocationID() : long
apiIndustryJob.getContainerLocationID() : long
apiIndustryJob.getOutputLocationID() : long
And when I'm writing anyway:
Thank you a million for continue to support this awesome library!
-GoldenGnu of jEveAssets
Original issue reported on code.google.com by [email protected]
on 19 Jun 2010 at 10:40
What steps will reproduce the problem?
1. Get data using say ApiSkillQueueItem
2. Be in any time zone other than GMT
3. Use the getEndDate() method which parses the API result
4. The result will be the wrong time
What is the expected output? What do you see instead?
For example, the string returned by the API is "2010-11-28 22:52:45". The
result from the getEndDate() is: "Sun Nov 28 22:52:45 EST 2010" (with
toString). This is obviously incorrect. THe correct result would be "Sun Nov 28
17:52:45 EST 2010".
What version of the product are you using? On what operating system?
SVN as of Nov 28, 2010.
Please provide any additional information below.
This can be easily fixed by manually setting the timezone on the
SimpleDateFormats. For example, just add this to anything that has an SDF:
public ApiSkillQueueItem() {
// EVE API returns times in GMT
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
}
It might be easiest to have a central SDF using a ThreadLocal that returns a
properly initialized SDF, or at least a utility to create the SDF properly.
However, the simple addition above fixes it just fine for me.
Original issue reported on code.google.com by [email protected]
on 28 Nov 2010 at 7:24
Hi
Since the Crius release the access to industry jobs is broken, CCP changed the
API:
http://community.eveonline.com/news/dev-blogs/upcoming-api-changes-for-industry/
I changed the code so it works for active jobs again (only corp tested live).
Job history is probably easy to add as it's the same data format.
Attached is a patch against the current svn, but the formatting is
unfortunately broken.
Bye, Burb
Original issue reported on code.google.com by [email protected]
on 2 Aug 2014 at 1:58
Attachments:
Due to a bug introduced in the latest patch when requesting the membertracking
API from CCP a number of fields are missing. I am attaching a patch that will
include a number of checks that will determine in the fields are there or not
if not it will not attempt to set the member bean and side step a null pointer
exception with getDate, getInt and other processing calling.
Index:
src/main/java/com/beimin/eveapi/corporation/member/tracking/MemberTrackingHandle
r.java
===================================================================
---
src/main/java/com/beimin/eveapi/corporation/member/tracking/MemberTrackingHandle
r.java (revision 228)
+++
src/main/java/com/beimin/eveapi/corporation/member/tracking/MemberTrackingHandle
r.java (working copy)
@@ -12,20 +12,38 @@
@Override
protected ApiMember getItem(Attributes attrs) {
+
ApiMember member = new ApiMember();
member.setCharacterID(getLong(attrs, "characterID"));
+ member.setName(getString(attrs, "name"));
member.setBase(getString(attrs, "base"));
member.setBaseID(getInt(attrs, "baseID"));
- member.setGrantableRoles(getInt(attrs, "grantableRoles"));
- member.setLocation(getString(attrs, "location"));
- member.setLocationID(getInt(attrs, "locationID"));
- member.setLogoffDateTime(getDate(attrs, "logoffDateTime"));
- member.setLogonDateTime(getDate(attrs, "logonDateTime"));
- member.setName(getString(attrs, "name"));
- member.setRoles(getLong(attrs, "roles"));
- member.setShipType(getString(attrs, "shipType"));
- member.setShipTypeID(getInt(attrs, "shipTypeID"));
member.setTitle(getString(attrs, "title"));
+
+ if( attrs.getValue("grantableRoles") != null )
+ member.setGrantableRoles(getInt(attrs, "grantableRoles"));
+
+ if( attrs.getValue("location") != null )
+ member.setLocation(getString(attrs, "location"));
+
+ if( attrs.getValue("locationID") != null )
+ member.setLocationID(getInt(attrs, "locationID"));
+
+ if( attrs.getValue("logoffDateTime") != null )
+ member.setLogoffDateTime(getDate(attrs, "logoffDateTime"));
+
+ if( attrs.getValue("logonDateTime") != null )
+ member.setLogonDateTime(getDate(attrs, "logonDateTime"));
+
+ if( attrs.getValue("roles") != null )
+ member.setRoles(getLong(attrs, "roles"));
+
+ if( attrs.getValue("shipType") != null )
+ member.setShipType(getString(attrs, "shipType"));
+
+ if( attrs.getValue("shipTypeID") != null )
+ member.setShipTypeID(getInt(attrs, "shipTypeID"));
+
return member;
}
}
\ No newline at end of file
Original issue reported on code.google.com by [email protected]
on 11 Feb 2012 at 5:56
What steps will reproduce the problem?
1. Method call to parser.getKillList(ApiAuth auth, boolean implementation);
What is the expected output? What do you see instead?
java.io.FileNotFoundException:
http://api.eve-online.com/char/KillList.xml.aspx?<api information removed>
/char/KillList.xml.aspx is not a valid URL - KillLog.xml.aspx is correct one.
Fix attached
Original issue reported on code.google.com by [email protected]
on 27 Oct 2009 at 8:47
Attachments:
Can you add 5.0.0 to the repository so we can download it like 4.0.0?
Original issue reported on code.google.com by [email protected]
on 25 Jul 2012 at 6:43
What steps will reproduce the problem?
1. check out source code
2. open the code in editor/IDE
What is the expected output? What do you see instead?
Expected: documentation on api usage (at least javadoc). Instead: just plain
code.
What version of the product are you using? On what operating system?
Latest. OS: irrelevant
Original issue reported on code.google.com by [email protected]
on 28 May 2013 at 6:53
MailMessagesHandler and associated unit tests use the wrong attribute name to
detect mailingLists in the To header of EveMail messages.
Handler looks for an attribute named "toListIDs" but CCPs API servers are
returning the attribute named "toListID" instead.
See also http://wiki.eve-id.net/APIv2_Char_MailMessages_XML
Patch included
Original issue reported on code.google.com by [email protected]
on 2 Jun 2012 at 10:05
Attachments:
What steps will reproduce the problem?
1. look at the API
2. make a sad face
What is the expected output? What do you see instead?
WalletJournalParser and WalletTransactionsParser always use default implicit
value for the optional rowCount parameter
What version of the product are you using? On what operating system?
5.0.1-SNAPSHOT
Please provide any additional information below.
patch provided
Original issue reported on code.google.com by [email protected]
on 15 Mar 2012 at 1:42
Attachments:
See sample XML response: http://wiki.eve-id.net/APIv2_Char_CharacterSheet_XML
Original issue reported on code.google.com by [email protected]
on 17 May 2013 at 6:08
When fetching a character sheet through the Eve API, the API returns
information about the character's alliance. This information is currently not
added the CharacterSheetResponse.
Original issue reported on code.google.com by [email protected]
on 26 May 2012 at 5:51
Method getDrfaultApiUrl of the class AbstractApiParser has a typo in the
name, since its introduction in r62
What version of the product are you using?
Release version 2.0.0
Original issue reported on code.google.com by [email protected]
on 23 Apr 2010 at 12:15
Library won't work behind a proxy-only connection as it does not support
the setting of a proxy server.
Attached file contains a proposed patch that will enable setting of global
proxy settings (statically set on the AbstractApiParser class).
The change will not break existing code and works exactly as it used to
work if the proxy is not set. When set, it will use a proxy server to
connect.
Original issue reported on code.google.com by [email protected]
on 6 Oct 2009 at 8:49
Attachments:
This causes the elements currentTime, cachedUntil and error to not be parsed.
To reproduce:
1. Create a CharacterInfoParser and get CharacterInfoResponse from it.
2. The Date provided by response.getCachedUntil(); will be null.
Original issue reported on code.google.com by [email protected]
on 24 May 2013 at 6:35
The itemID's for some parser's need to be able to handle 64-bit numbers (ie
long not int). For instance with the StarbaseDetailParser.
If I'm right, all the parser's which require an itemID of any kind won't work
with the current eveapi release.
Original issue reported on code.google.com by [email protected]
on 19 Mar 2011 at 10:34
When I compile r117 I get the following error:
Stack Trace:
java.lang.InstantiationException: com.beimin.eveapi.shared.standings.ApiStanding
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
at org.apache.commons.digester.Digester.startElement(Digester.java:1456)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1765)
at com.beimin.eveapi.AbstractApiParser.getResponse(AbstractApiParser.java:239)
at com.beimin.eveapi.corporation.standings.StandingsParserTest.standingsParser(StandingsParserTest.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
Original issue reported on code.google.com by [email protected]
on 8 Oct 2010 at 9:27
What steps will reproduce the problem?
1. look at
https://api.eveonline.com/corp/CorporationSheet.xml.aspx?corporationID=1000107
2. run the following code:
CorpSheetParser.getInstance().getResponse(1000107);
3. see exception
What is the expected output? What do you see instead?
the code generates a null pointer exception when calling setShares(getInt()) in
line 71 of CorpSheetHandler.
Fix is going to be to convert the shared property to a Long from an Integer.
The Scope has too many shares to fit in and Integer now.
What version of the product are you using? On what operating system?
5.0.0
Please provide any additional information below.
patch provided
Original issue reported on code.google.com by [email protected]
on 17 Mar 2012 at 12:36
Attachments:
What steps will reproduce the problem?
1. Call CharacterSheetParser.getInstance().getResponse(auth); on a character
who has a role whose ID is over MAX_INT
2. NullPointerException will be thrown at
com.beimin.eveapi.character.sheet.CharacterSheetHandler.startElement(CharacterSh
eetHandler.java:51)
What is the expected output? What do you see instead?
I expect the long to be parsed correctly, no NumberFormatException.
What version of the product are you using? On what operating system?
eveapi-5.1.1.jar, Win7
I can fix this locally, figured that you'd want to know.
Original issue reported on code.google.com by [email protected]
on 30 Mar 2013 at 8:14
In the CharacterSheetHandler class's startElement, any element with the qName
"row" is handled equally == it expects that row to define a skill. However,
certificates, corporation roles and corporation titles are also defined with an
element named "row". This will lead to a NullPointerException, because, for
example, the certificate roles do not have a "typeID" attribute.
The CharacterSheetHandler should be modified to take into account also other
type of rowsets than the one for skills. See this link for details about the
structure of the Eve API result
http://wiki.eve-id.net/APIv2_Char_CharacterSheet_XML
Original issue reported on code.google.com by [email protected]
on 26 May 2012 at 5:49
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.