Bug #2968
cn.getFormat() doesn't use cn associated with the CNode object
0%
Description
a call to cn.getFormat() calls ObjectFormatCache.refreshCache(), which calls D1Client.getCN(). If the baseURL for the outer CNode object is different from the one in D1Cient.getCN(), you can get unexpected results, and besides, it doesn't follow the contract of the API.
In practice, the impact is small, but it should be fixed.
ObjectFormatCache should accept a base URL for instantiating it's own CNode, or perhaps accept an existing CNode. Troublesome with the singleton pattern.
History
#1 Updated by Rob Nahf over 12 years ago
- Category set to d1_libclient_java
- Milestone changed from CCI-1.0.0 to CCI-1.0.2
- Assignee set to Rob Nahf
a call to cn.getFormat() calls ObjectFormatCache.refreshCache(), which calls D1Client.getCN(). If the baseURL for the outer CNode object is different from the one in D1Cient.getCN(), you can get unexpected results, and besides, it doesn't follow the contract of the API.
In practice, the impact is small, but it should be fixed.
ObjectFormatCache should accept a base URL for instantiating it's own CNode, or perhaps accept an existing CNode. Troublesome with the singleton pattern.
#2 Updated by Dave Vieglais over 12 years ago
- Milestone changed from CCI-1.0.2 to CCI-1.0.3
- Target version changed from Sprint-2012.23-Block.3.4 to Sprint-2012.27-Block.4.2
#3 Updated by Dave Vieglais over 12 years ago
- Position set to 1
- Position changed from 1 to 476
- Position deleted (
11)
#4 Updated by Dave Vieglais over 12 years ago
- Target version changed from Sprint-2012.27-Block.4.2 to Sprint-2012.33-Block.5.1
- Milestone changed from CCI-1.0.3 to CCI-1.0.4
#5 Updated by Dave Vieglais about 12 years ago
- Position deleted (
480) - Position set to 490
- Target version changed from Sprint-2012.33-Block.5.1 to Sprint-2012.35-Block.5.2
#6 Updated by Robert Waltz about 12 years ago
- Milestone changed from CCI-1.0.4 to CCI-1.0.5
#7 Updated by Robert Waltz about 12 years ago
- Target version changed from Sprint-2012.35-Block.5.2 to Sprint-2012.37-Block.5.3
#8 Updated by Chris Jones about 12 years ago
- Start date set to 2012-09-09
- translation missing: en.field_remaining_hours set to 0.0
- Milestone changed from CCI-1.0.5 to CCI-1.1
- Due date set to 2012-09-22
#9 Updated by Rob Nahf about 12 years ago
- Target version changed from Sprint-2012.37-Block.5.3 to Sprint-2012.39-Block.5.4
- Due date changed from 2012-09-22 to 2012-10-06
#10 Updated by Rob Nahf about 12 years ago
- Due date changed from 2012-10-06 to 2012-10-27
- Target version changed from Sprint-2012.39-Block.5.4 to Sprint-2012.41-Block.6.1
- Milestone changed from CCI-1.1 to None
#11 Updated by Rob Nahf about 12 years ago
- Due date changed from 2012-10-27 to 2012-11-10
- Target version changed from Sprint-2012.41-Block.6.1 to Sprint-2012.44-Block.6.2
#12 Updated by Rob Nahf almost 12 years ago
relatedly, D1Client.getCN returns a cached CNode. In applications like Morpho, this caching makes that call somewhat useless. Is that OK? Is this the best behavior? Should we expose the nodeIds for all of the CN's? how does a hands-on application (that wants to set the baseURL) get the default baseURL in the configuration to use - call Settings.configuration, I guess
#13 Updated by Rob Nahf almost 12 years ago
- Due date changed from 2012-11-10 to 2013-01-05
- Target version changed from Sprint-2012.44-Block.6.2 to Sprint-2012.50-Block.6.4
#14 Updated by Rob Nahf almost 12 years ago
- Target version deleted (
Sprint-2012.50-Block.6.4) - Milestone changed from None to CCI-1.1.1
- Due date deleted (
2013-01-05) - Start date deleted (
2012-09-09)
#15 Updated by Dave Vieglais about 10 years ago
- Target version set to Release Backlog
- Due date set to 2014-10-01
- Start date set to 2014-10-01
#16 Updated by Rob Nahf almost 10 years ago
- Category changed from d1_libclient_java to d1_libclient_java
- Project changed from Infrastructure to Java Client
- Target version changed from Release Backlog to CLJ
#17 Updated by Rob Nahf almost 10 years ago
- Target version deleted (
CLJ)