Skip to content
This repository was archived by the owner on May 31, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import in.ankushs.browscap4j.utils.Strings;
/**
* Core object that represents the capabilities of an user agent.
*
*
* @author Ankush Sharma
*
*/
Expand All @@ -12,6 +12,7 @@ public final class BrowserCapabilities {
private final String browser;
private final String deviceName;
private final String browserType;
private final String browserMajorVersion;
private final String deviceType;
private final String deviceCodeName;
private final String deviceBrandName;
Expand All @@ -24,6 +25,7 @@ public final class BrowserCapabilities {
public BrowserCapabilities(final Builder builder){
this.browser = builder.browser;
this.browserType = builder.browserType;
this.browserMajorVersion = builder.browserMajorVersion;
this.deviceBrandName = builder.deviceBrandName;
this.deviceCodeName = builder.deviceCodeName;
this.deviceName = builder.deviceName;
Expand All @@ -38,6 +40,7 @@ public BrowserCapabilities(final Builder builder){
public static class Builder{
private String browser;
private String browserType;
private String browserMajorVersion;
private String deviceName;
private String deviceType;
private String deviceCodeName;
Expand All @@ -47,16 +50,21 @@ public static class Builder{
private String platformVersion;
private boolean isMobile;
private boolean isTablet;
public Builder browser(final String browser){

public Builder browser(final String browser){
this.browser = browser;
return this;
}

public Builder browserType(final String browserType){
public Builder browserType(final String browserType){
this.browserType = browserType;
return this;
}
}

public Builder browserMajorVersion(final String browserMajorVersion){
this.browserMajorVersion = browserMajorVersion;
return this;
}

public Builder deviceName(final String deviceName){
this.deviceName = deviceName;
Expand All @@ -82,17 +90,17 @@ public Builder platform(final String platform){
this.platform = platform;
return this;
}

public Builder platformMaker(final String platformMaker){
this.platformMaker = platformMaker;
return this;
}

public Builder isMobile(final boolean isMobile){
this.isMobile = isMobile;
return this;
}

public Builder isTablet(final boolean isTablet){
this.isTablet = isTablet;
return this;
Expand All @@ -102,7 +110,7 @@ public BrowserCapabilities build(){
return new BrowserCapabilities(this);
}
}

public String getBrowser() {
return browser;
}
Expand Down Expand Up @@ -133,6 +141,10 @@ public String getPlatformMaker() {

public String getBrowserType() {return browserType;}

public String getBrowserMajorVersion() {
return browserMajorVersion;
}

public boolean isMobile() {
return isMobile;
}
Expand Down Expand Up @@ -179,6 +191,7 @@ public String toString() {
"browser='" + browser + '\'' +
", deviceName='" + deviceName + '\'' +
", browserType='" + browserType + '\'' +
", browserMajorVersion='" + browserMajorVersion + '\'' +
", deviceType='" + deviceType + '\'' +
", deviceCodeName='" + deviceCodeName + '\'' +
", deviceBrandName='" + deviceBrandName + '\'' +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public Map<String, BrowserCapabilities> getNamePatternsToBrowserCapabilitiesMap(
.collect(Collectors.toMap(record -> record[0], // Key
record -> {
final String browser = Strings.hasText(record[5]) ? record[5] : UNKNOWN;
final String browserMajorVersion = Strings.hasText(record[11]) ? record[11] : UNKNOWN;
final String browserType = Strings.hasText(record[6]) ? record[6] : UNKNOWN;
final String deviceName = Strings.hasText(record[41]) ? record[41] : UNKNOWN;
final String deviceType = Strings.hasText(record[43]) ? record[43] : UNKNOWN;
Expand All @@ -90,6 +91,7 @@ record -> {

return new BrowserCapabilities.Builder()
.browser(browser)
.browserMajorVersion(browserMajorVersion)
.browserType(browserType)
.deviceCodeName(deviceCodeName)
.deviceName(deviceName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='Chrome'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='46'
browserCapabilities.deviceBrandName=='Apple'
browserCapabilities.deviceCodeName=='Macintosh'
browserCapabilities.deviceName=='Macintosh'
Expand Down Expand Up @@ -74,6 +75,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='Silk'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='3'
browserCapabilities.deviceBrandName=='Amazon'
browserCapabilities.deviceCodeName=='KFAPWI'
browserCapabilities.deviceName=='Kindle Fire HDX 8.9'
Expand Down Expand Up @@ -509,6 +511,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='TenFourFox'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='10'

browserCapabilities.deviceBrandName=='Apple'
browserCapabilities.deviceCodeName=='Macintosh'
Expand Down Expand Up @@ -539,6 +542,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='IE'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='8'
browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='Windows Desktop'
browserCapabilities.deviceName=='Windows Desktop'
Expand Down Expand Up @@ -627,6 +631,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='Opera'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='4'
browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='Windows Desktop'
browserCapabilities.deviceName=='Windows Desktop'
Expand Down Expand Up @@ -655,6 +660,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{

then:
browserCapabilities.browser=='Netscape'
browserCapabilities.browserMajorVersion=='7'
browserCapabilities.browserType=='Browser'
browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='Linux Desktop'
Expand Down Expand Up @@ -686,6 +692,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='Maxthon'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='2'

browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='Windows Desktop'
Expand Down Expand Up @@ -775,6 +782,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='IE'
browserCapabilities.browserType=='Browser'
browserCapabilities.browserMajorVersion=='5'

browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='Windows Desktop'
Expand Down Expand Up @@ -864,6 +872,7 @@ class BrowserCapabilitiesLookupSpec extends BaseSpec{
then:
browserCapabilities.browser=='YaCy Bot'
browserCapabilities.browserType=='Bot/Crawler'
browserCapabilities.browserMajorVersion=='0'

browserCapabilities.deviceBrandName=='Unknown'
browserCapabilities.deviceCodeName=='general Desktop'
Expand Down