/*
* Copyright 2012 Daniel Kurka
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.googlecode.gwtphonegap.client.globalization.browser;
import com.googlecode.gwtphonegap.client.globalization.CNumberPattern;
import com.googlecode.gwtphonegap.client.globalization.CurrencyPattern;
import com.googlecode.gwtphonegap.client.globalization.DateNameOptions;
import com.googlecode.gwtphonegap.client.globalization.DateOptions;
import com.googlecode.gwtphonegap.client.globalization.DatePattern;
import com.googlecode.gwtphonegap.client.globalization.DayLightSavings;
import com.googlecode.gwtphonegap.client.globalization.Globalization;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationArrayValue;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationCallback;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationDoubleValue;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationError;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationIntValue;
import com.googlecode.gwtphonegap.client.globalization.GlobalizationStringValue;
import com.googlecode.gwtphonegap.client.globalization.NumberOptions;
import com.googlecode.gwtphonegap.collection.shared.CollectionFactory;
import com.googlecode.gwtphonegap.collection.shared.LightArray;
import java.util.Date;
public class GlobalizationBrowserImpl implements Globalization {
@Override
public void getPreferredLanguage(GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationStringValue() {
@Override
public String getValue() {
return "English";
}
});
}
@Override
public void getLocaleName(GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationStringValue() {
@Override
public String getValue() {
return "en_US";
}
});
}
@Override
public void convertDateToString(Date date,
GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
convertDateToString(date, new DateOptions(DateOptions.LENGTH_SHORT,
DateOptions.SELECTOR_DATE_AND_TIME), callback);
}
@Override
public void convertDateToString(Date date, DateOptions options,
GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
callback.onFailure(new GlobalizationError() {
@Override
public String getMessage() {
return "";
}
@Override
public int getCode() {
return GlobalizationError.FORMATTING_ERROR;
}
});
}
@Override
public void convertStringToDate(String dateString,
GlobalizationCallback<Date, GlobalizationError> callback) {
convertStringToDate(dateString, new DateOptions(DateOptions.LENGTH_SHORT,
DateOptions.SELECTOR_DATE_AND_TIME), callback);
}
@Override
public void convertStringToDate(String dateString, DateOptions options,
GlobalizationCallback<Date, GlobalizationError> callback) {
callback.onFailure(new GlobalizationError() {
@Override
public String getMessage() {
return "";
}
@Override
public int getCode() {
return GlobalizationError.FORMATTING_ERROR;
}
});
}
@Override
public void getDatePattern(GlobalizationCallback<DatePattern, GlobalizationError> callback) {
callback.onSuccess(new DatePattern() {
@Override
public String getPattern() {
return "MM/dd/yyyy";
}
@Override
public String getTimeZone() {
return "";
}
@SuppressWarnings("deprecation")
@Override
public int getUtc_offset() {
Date d = new Date();
return d.getTimezoneOffset();
}
@Override
public int getDst_offset() {
return 0;
}
});
}
@Override
public void getDatePattern(DateOptions options,
GlobalizationCallback<DatePattern, GlobalizationError> callback) {
callback.onSuccess(new DatePattern() {
@Override
public String getPattern() {
return "MM/dd/yyyy";
}
@Override
public String getTimeZone() {
return "";
}
@SuppressWarnings("deprecation")
@Override
public int getUtc_offset() {
Date d = new Date();
return d.getTimezoneOffset();
}
@Override
public int getDst_offset() {
return 0;
}
});
}
@Override
public void getDateNames(GlobalizationCallback<GlobalizationArrayValue, GlobalizationError> callback) {
final LightArray<String> months = CollectionFactory.constructArray();
months.push("Jan");
months.push("Feb");
months.push("Mar");
months.push("Apr");
months.push("May");
months.push("Jun");
months.push("Jul");
months.push("Aug");
months.push("Sep");
months.push("Oct");
months.push("Nov");
months.push("Dec");
callback.onSuccess(new GlobalizationArrayValue() {
@Override
public LightArray<String> getValue() {
return months;
}
});
}
@Override
public void getDateNames(DateNameOptions options,
GlobalizationCallback<GlobalizationArrayValue, GlobalizationError> callback) {
getDateNames(callback);
}
@Override
public void isDayLightSavingsTime(Date date,
GlobalizationCallback<DayLightSavings, GlobalizationError> callback) {
callback.onSuccess(new DayLightSavings() {
@Override
public boolean getDst() {
return false;
}
});
}
@Override
public void getFirstDayOfWeek(GlobalizationCallback<GlobalizationIntValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationIntValue() {
@Override
public int getValue() {
return 1;
}
});
}
@Override
public void numberToString(final double number, NumberOptions options,
GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationStringValue() {
@Override
public String getValue() {
return ""+number;
}
});
}
@Override
public void numberToString(final double number,
GlobalizationCallback<GlobalizationStringValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationStringValue() {
@Override
public String getValue() {
return ""+number;
}
});
}
@Override
public void stringToNumber(final String stringToFormat, NumberOptions options,
GlobalizationCallback<GlobalizationDoubleValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationDoubleValue() {
@Override
public double getValue() {
try{
double curNumber = Double.parseDouble(stringToFormat);
return curNumber;
}catch (NumberFormatException e){
return 0;
}
}
});
}
@Override
public void stringToNumber(final String stringToFormat,
GlobalizationCallback<GlobalizationDoubleValue, GlobalizationError> callback) {
callback.onSuccess(new GlobalizationDoubleValue() {
@Override
public double getValue() {
try{
double curNumber = Double.parseDouble(stringToFormat);
return curNumber;
}catch (Exception e){
return 0;
}
}
});
}
@Override
public void getNumberPattern(NumberOptions options,
GlobalizationCallback<CNumberPattern, GlobalizationError> callback) {
callback.onFailure(new GlobalizationError() {
@Override
public String getMessage() {
return "";
}
@Override
public int getCode() {
return GlobalizationError.PATTERN_ERROR;
}
});
}
@Override
public void getNumberPattern(GlobalizationCallback<CNumberPattern, GlobalizationError> callback) {
callback.onFailure(new GlobalizationError() {
@Override
public String getMessage() {
return "";
}
@Override
public int getCode() {
return GlobalizationError.PATTERN_ERROR;
}
});
}
@Override
public void getCurrencyPattern(String currencyCode,
GlobalizationCallback<CurrencyPattern, GlobalizationError> callback) {
callback.onFailure(new GlobalizationError() {
@Override
public String getMessage() {
return "";
}
@Override
public int getCode() {
return GlobalizationError.PATTERN_ERROR;
}
});
}
}