use of sqlite.feature.many2many.case4.model.PhoneNumber in project data-transfer-project by google.
the class VCardToGoogleContactConverter method convertToGooglePhoneNumber.
private static PhoneNumber convertToGooglePhoneNumber(Telephone vCardTelephone) {
PhoneNumber phoneNumber = new PhoneNumber();
phoneNumber.setValue(vCardTelephone.getText());
if (vCardTelephone.getPref() != null && vCardTelephone.getPref() == VCARD_PRIMARY_PREF) {
phoneNumber.setMetadata(PRIMARY_FIELD_METADATA);
} else {
phoneNumber.setMetadata(SECONDARY_FIELD_METADATA);
}
return phoneNumber;
}
use of sqlite.feature.many2many.case4.model.PhoneNumber in project data-transfer-project by google.
the class GoogleContactToVCardConverterTest method testConversionToVCardTelephone.
@Test
public void testConversionToVCardTelephone() {
// Set up test: person with 2 primary phone numbers and 1 secondary phone number
String primaryValue1 = "334-844-4244";
String primaryValue2 = "411";
String secondaryValue = "(555) 867-5309";
PhoneNumber primaryPhone1 = new PhoneNumber().setValue(primaryValue1).setMetadata(PRIMARY_FIELD_METADATA);
PhoneNumber primaryPhone2 = new PhoneNumber().setValue(primaryValue2).setMetadata(PRIMARY_FIELD_METADATA);
PhoneNumber secondaryPhone = new PhoneNumber().setValue(secondaryValue).setMetadata(SECONDARY_FIELD_METADATA);
Person person = DEFAULT_PERSON.setPhoneNumbers(Arrays.asList(secondaryPhone, primaryPhone1, primaryPhone2));
// Run test
VCard vCard = GoogleContactToVCardConverter.convert(person);
// Check results for correct values and preferences
List<Telephone> resultPrimaryPhoneList = getPropertiesWithPreference(vCard, Telephone.class, VCARD_PRIMARY_PREF);
assertThat(getValuesFromProperties(resultPrimaryPhoneList, Telephone::getText)).containsExactly(primaryValue1, primaryValue2);
List<Telephone> resultSecondaryPhoneList = getPropertiesWithPreference(vCard, Telephone.class, VCARD_PRIMARY_PREF + 1);
assertThat(getValuesFromProperties(resultSecondaryPhoneList, Telephone::getText)).containsExactly(secondaryValue);
}
use of sqlite.feature.many2many.case4.model.PhoneNumber in project data-transfer-project by google.
the class VCardToGoogleContactConverterTest method testConversionToGooglePhones.
@Test
public void testConversionToGooglePhones() {
// Set up test: vCard with 2 primary phone numbers and 1 secondary phone number
String primaryValue1 = "334-844-4244";
String primaryValue2 = "411";
String secondaryValue = "(555) 867-5309";
Telephone primaryTelephone1 = new Telephone(primaryValue1);
primaryTelephone1.setPref(VCARD_PRIMARY_PREF);
Telephone primaryTelephone2 = new Telephone(primaryValue2);
primaryTelephone2.setPref(VCARD_PRIMARY_PREF);
Telephone secondaryTelephone = new Telephone(secondaryValue);
secondaryTelephone.setPref(VCARD_PRIMARY_PREF + 1);
// Add numbers to vCard. Order shouldn't matter.
VCard vCard = defaultVCard;
vCard.addTelephoneNumber(secondaryTelephone);
vCard.addTelephoneNumber(primaryTelephone1);
vCard.addTelephoneNumber(primaryTelephone2);
// Run test
Person person = VCardToGoogleContactConverter.convert(vCard);
// Check results
// Correct number of phone numbers
assertThat(person.getPhoneNumbers().size()).isEqualTo(3);
// Check primary phone numbers
List<PhoneNumber> actualPrimaryNumbers = person.getPhoneNumbers().stream().filter(a -> a.getMetadata().getPrimary()).collect(Collectors.toList());
List<String> actualPrimaryNumberStrings = getValuesFromFields(actualPrimaryNumbers, PhoneNumber::getValue);
assertThat(actualPrimaryNumberStrings).containsExactly(primaryValue1, primaryValue2);
// Check secondary phone numbers
List<PhoneNumber> actualSecondaryNumbers = person.getPhoneNumbers().stream().filter(a -> !a.getMetadata().getPrimary()).collect(Collectors.toList());
List<String> actualSecondaryNumberStrings = getValuesFromFields(actualSecondaryNumbers, PhoneNumber::getValue);
assertThat(actualSecondaryNumberStrings).containsExactly(secondaryValue);
}
use of sqlite.feature.many2many.case4.model.PhoneNumber in project kripton by xcesco.
the class PhoneDaoImpl method selectByNumber.
/**
* <h2>Select SQL:</h2>
*
* <pre>SELECT id, action_type, number, country_code, contact_name, contact_id FROM phone_number WHERE number = ${number}</pre>
*
* <h2>Projected columns:</h2>
* <dl>
* <dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
* <dt>action_type</dt><dd>is associated to bean's property <strong>actionType</strong></dd>
* <dt>number</dt><dd>is associated to bean's property <strong>number</strong></dd>
* <dt>country_code</dt><dd>is associated to bean's property <strong>countryCode</strong></dd>
* <dt>contact_name</dt><dd>is associated to bean's property <strong>contactName</strong></dd>
* <dt>contact_id</dt><dd>is associated to bean's property <strong>contactId</strong></dd>
* </dl>
*
* <h2>Query's parameters:</h2>
* <dl>
* <dt>${number}</dt><dd>is binded to method's parameter <strong>number</strong></dd>
* </dl>
*
* @param number
* is binded to <code>${number}</code>
* @return selected bean or <code>null</code>.
*/
@Override
public PhoneNumber selectByNumber(String number) {
KriptonContentValues _contentValues = contentValues();
// query SQL is statically defined
String _sql = SELECT_BY_NUMBER_SQL2;
// add where arguments
_contentValues.addWhereArgs((number == null ? "" : number));
String[] _sqlArgs = _contentValues.whereArgsAsArray();
// log section BEGIN
if (_context.isLogEnabled()) {
// manage log
Logger.info(_sql);
// log for where parameters -- BEGIN
int _whereParamCounter = 0;
for (String _whereParamItem : _contentValues.whereArgs()) {
Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
}
// log for where parameters -- END
}
// log section END
try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
// log section BEGIN
if (_context.isLogEnabled()) {
Logger.info("Rows found: %s", _cursor.getCount());
}
// log section END
PhoneNumber resultBean = null;
if (_cursor.moveToFirst()) {
int index0 = _cursor.getColumnIndex("id");
int index1 = _cursor.getColumnIndex("action_type");
int index2 = _cursor.getColumnIndex("number");
int index3 = _cursor.getColumnIndex("country_code");
int index4 = _cursor.getColumnIndex("contact_name");
int index5 = _cursor.getColumnIndex("contact_id");
resultBean = new PhoneNumber();
resultBean.id = _cursor.getLong(index0);
if (!_cursor.isNull(index1)) {
resultBean.actionType = ActionType.valueOf(_cursor.getString(index1));
}
if (!_cursor.isNull(index2)) {
resultBean.number = _cursor.getString(index2);
}
if (!_cursor.isNull(index3)) {
resultBean.countryCode = _cursor.getString(index3);
}
if (!_cursor.isNull(index4)) {
resultBean.contactName = _cursor.getString(index4);
}
if (!_cursor.isNull(index5)) {
resultBean.contactId = _cursor.getString(index5);
}
}
return resultBean;
}
}
use of sqlite.feature.many2many.case4.model.PhoneNumber in project kripton by xcesco.
the class PhoneDaoImpl method selectAll.
/**
* <h2>Select SQL:</h2>
*
* <pre>SELECT id, action, number, country_code, contact_name, contact_id FROM phone_number ORDER BY contact_name, number</pre>
*
* <h2>Projected columns:</h2>
* <dl>
* <dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
* <dt>action</dt><dd>is associated to bean's property <strong>action</strong></dd>
* <dt>number</dt><dd>is associated to bean's property <strong>number</strong></dd>
* <dt>country_code</dt><dd>is associated to bean's property <strong>countryCode</strong></dd>
* <dt>contact_name</dt><dd>is associated to bean's property <strong>contactName</strong></dd>
* <dt>contact_id</dt><dd>is associated to bean's property <strong>contactId</strong></dd>
* </dl>
*
* @return collection of bean or empty collection.
*/
@Override
public List<PhoneNumber> selectAll() {
KriptonContentValues _contentValues = contentValues();
// query SQL is statically defined
String _sql = SELECT_ALL_SQL3;
// add where arguments
String[] _sqlArgs = _contentValues.whereArgsAsArray();
// log section BEGIN
if (_context.isLogEnabled()) {
// manage log
Logger.info(_sql);
// log for where parameters -- BEGIN
int _whereParamCounter = 0;
for (String _whereParamItem : _contentValues.whereArgs()) {
Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
}
// log for where parameters -- END
}
// log section END
try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
// log section BEGIN
if (_context.isLogEnabled()) {
Logger.info("Rows found: %s", _cursor.getCount());
}
// log section END
ArrayList<PhoneNumber> resultList = new ArrayList<PhoneNumber>(_cursor.getCount());
PhoneNumber resultBean = null;
if (_cursor.moveToFirst()) {
int index0 = _cursor.getColumnIndex("id");
int index1 = _cursor.getColumnIndex("action");
int index2 = _cursor.getColumnIndex("number");
int index3 = _cursor.getColumnIndex("country_code");
int index4 = _cursor.getColumnIndex("contact_name");
int index5 = _cursor.getColumnIndex("contact_id");
do {
resultBean = new PhoneNumber();
resultBean.id = _cursor.getLong(index0);
if (!_cursor.isNull(index1)) {
resultBean.action = ActionType.valueOf(_cursor.getString(index1));
}
if (!_cursor.isNull(index2)) {
resultBean.number = _cursor.getString(index2);
}
if (!_cursor.isNull(index3)) {
resultBean.countryCode = _cursor.getString(index3);
}
if (!_cursor.isNull(index4)) {
resultBean.contactName = _cursor.getString(index4);
}
if (!_cursor.isNull(index5)) {
resultBean.contactId = _cursor.getString(index5);
}
resultList.add(resultBean);
} while (_cursor.moveToNext());
}
return resultList;
}
}
Aggregations