I'm trying to use a patch files to add all iphones devices to my device list.
I'm using wurflk 1.01 API, because we are using maven and because it was like that when I got the project(too much work to upgrade for no significant gain for the moment)
Basically, I need to get a list with all iphones, from 2g/1 to 4S.
The same for Ipad.
I don't care about user agents, because they are no use for iphone, or almost.(and not unique, so not usable to identify a device).
I'm trying to get the last release of the device OS, saying that people will do the update.
I commented a lot of them, because except the OS version, nothing changed.
My identifier is a combination of brand name and model name. (so i can not get 3 model Iphone for Apple, they would be mixed together).
here is my patch file :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<wurfl_patch>
<devices>
<!--
<device actual_device_root="true" fall_back="apple_iphone_ver1" id="apple_iphone2g_ios1_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone" />
<capability name="release_date" value="2007_june" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone2g_ios2_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone" />
<capability name="release_date" value="2007_june" />
</group>
</device>
-->
<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone2g_ios3_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone" />
<capability name="release_date" value="2007_june" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone3g_ios2_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3G" />
<capability name="release_date" value="2008_july" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone3g_ios3_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3G" />
<capability name="release_date" value="2008_july" />
</group>
</device>
-->
<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone3g_ios4_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3G" />
<capability name="release_date" value="2008_july" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone_3gs_ios3_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3GS" />
<capability name="release_date" value="2009_june" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_3gs_ios4_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3GS" />
<capability name="release_date" value="2009_june" />
</group>
</device>
-->
<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_3gs_ios5_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 3GS" />
<capability name="release_date" value="2009_june" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_4_ios4_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 4" />
<capability name="release_date" value="2010_june" />
</group>
<group id="display">
<capability name="resolution_width" value="640" />
<capability name="resolution_height" value="960" />
</group>
</device>
-->
<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4_ios5_ver1" user_agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 4" />
<capability name="release_date" value="2010_june" />
</group>
<group id="display">
<capability name="resolution_width" value="640" />
<capability name="resolution_height" value="960" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4s_ver1" user_agent="Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPhone 4S" />
<capability name="release_date" value="2011_october" />
</group>
<group id="display">
<capability name="resolution_width" value="640" />
<capability name="resolution_height" value="960" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_ipad_ver1" id="apple_ipad_ios32_ver1" user_agent="Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7D11">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad" />
<capability name="release_date" value="2010_april" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub421" id="apple_ipad_ios42_ver1" user_agent="Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad" />
<capability name="release_date" value="2010_april" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub431" id="apple_ipad_ios43_ver1" user_agent="Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad" />
<capability name="release_date" value="2010_april" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_ios50_ver1" user_agent="Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad" />
<capability name="release_date" value="2010_april" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_ios51_ver1" user_agent="Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad" />
<capability name="release_date" value="2010_april" />
</group>
</device>
-->
<device actual_device_root="true" id="apple_ipad_ver1_sub431" user_agent="Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad 2" />
<capability name="release_date" value="2011_march" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_2_ios50_ver1" user_agent="Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad 2" />
<capability name="release_date" value="2011_march" />
</group>
</device>
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_2_ios51_ver1" user_agent="Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad 2" />
<capability name="release_date" value="2011_march" />
</group>
</device>
-->
<device actual_device_root="true" id="apple_ipad_ver1_sub51" user_agent="Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad 3" />
<capability name="release_date" value="2012_march" />
</group>
<group id="display">
<capability name="resolution_width" value="1536" />
<capability name="resolution_height" value="2048" />
</group>
</device>
<!--
<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_3_ios51_ver1" user_agent="Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
<group id="product_info">
<capability name="brand_name" value="Apple" />
<capability name="model_name" value="iPad 3" />
<capability name="release_date" value="2012_march" />
</group>
<group id="display">
<capability name="resolution_width" value="1536" />
<capability name="resolution_height" value="2048" />
</group>
</device>
-->
</devices>
</wurfl_patch>
Do you have any idea what could be the issue ?Exception in thread "main" java.lang.NullPointerException
at edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:780)
at net.sourceforge.wurfl.core.resource.ModelDevices.containsId(ModelDevices.java:142)
at net.sourceforge.wurfl.core.resource.WURFLConsistencyVerifier.verifyHierarchy(WURFLConsistencyVerifier.java:151)
at net.sourceforge.wurfl.core.resource.WURFLConsistencyVerifier.verify(WURFLConsistencyVerifier.java:78)
at net.sourceforge.wurfl.core.resource.DefaultWURFLModel.<init>(DefaultWURFLModel.java:127)
It's not really understandable for me...
Pierre