use of ezvcard.property.Address in project ez-vcard by mangstadt.
the class HCardPageTest method createFullVCard.
private VCard createFullVCard() throws IOException {
VCard vcard = new VCard();
StructuredName n = new StructuredName();
n.setFamily("Claus");
n.setGiven("Santa");
n.getAdditionalNames().add("Saint Nicholas");
n.getAdditionalNames().add("Father Christmas");
n.getPrefixes().add("Mr");
n.getPrefixes().add("Dr");
n.getSuffixes().add("M.D.");
n.setSortAs("Claus");
vcard.setStructuredName(n);
vcard.setClassification("public");
vcard.setMailer("Thunderbird");
vcard.setFormattedName("Santa Claus");
vcard.setNickname("Kris Kringle");
vcard.addTitle("Manager");
vcard.addRole("Executive");
vcard.addRole("Team Builder");
vcard.addEmail("johndoe@hotmail.com", EmailType.HOME, EmailType.WORK);
vcard.addEmail("doe.john@company.com", EmailType.WORK);
Telephone tel = new Telephone(new TelUri.Builder("+1-555-222-3333").extension("101").build());
vcard.addTelephoneNumber(tel);
tel = new Telephone(new TelUri.Builder("+1-555-333-4444").build());
tel.getTypes().add(TelephoneType.WORK);
vcard.addTelephoneNumber(tel);
vcard.addTelephoneNumber("(555) 111-2222", TelephoneType.HOME, TelephoneType.VOICE, TelephoneType.PREF);
Address adr = new Address();
adr.setStreetAddress("123 Main St");
adr.setExtendedAddress("Apt 11");
adr.setLocality("Austin");
adr.setRegion("Tx");
adr.setPostalCode("12345");
adr.setCountry("USA");
adr.setLabel("123 Main St." + NEWLINE + "Austin TX, 12345" + NEWLINE + "USA");
adr.getTypes().add(AddressType.HOME);
vcard.addAddress(adr);
adr = new Address();
adr.setPoBox("123");
adr.setStreetAddress("456 Wall St.");
adr.setLocality("New York");
adr.setRegion("NY");
adr.setPostalCode("11111");
adr.setCountry("USA");
adr.getTypes().add(AddressType.PREF);
adr.getTypes().add(AddressType.WORK);
vcard.addAddress(adr);
vcard.setOrganization("Google", "GMail");
Birthday bday = new Birthday(date("1970-03-08"), false);
vcard.setBirthday(bday);
vcard.addUrl("http://company.com");
vcard.setCategories("business owner", "jolly");
vcard.addImpp(Impp.aim("myhandle"));
vcard.addImpp(Impp.yahoo("myhandle@yahoo.com"));
vcard.addNote("I am proficient in Tiger-Crane Style," + NEWLINE + "and I am more than proficient in the exquisite art of the Samurai sword.");
vcard.setGeo(123.456, -98.123);
vcard.setTimezone(new Timezone(new UtcOffset(false, -6, 0), "America/Chicago"));
InputStream in = getClass().getResourceAsStream("hcard-portrait.jpg");
Photo photo = new Photo(in, ImageType.JPEG);
vcard.addPhoto(photo);
in = getClass().getResourceAsStream("hcard-sound.ogg");
Sound sound = new Sound(in, SoundType.OGG);
vcard.addSound(sound);
vcard.setUid(new Uid("urn:uuid:ffce1595-cbe9-4418-9d0d-b015655d45f6"));
vcard.setRevision(date("2000-03-10 13:22:44"));
return vcard;
}
use of ezvcard.property.Address in project ez-vcard by mangstadt.
the class HCardPageTest method create_then_parse.
@Test
public void create_then_parse() throws Exception {
// create template
VCard expected = createFullVCard();
HCardPage template = new HCardPage();
template.add(expected);
String html = template.write();
// write to file for manual inspection
FileWriter writer = new FileWriter(new File("target", "vcard.html"));
writer.write(html);
writer.close();
// parse template
HCardParser reader = new HCardParser(html);
VCard actual = reader.readNext();
reader.close();
assertEquals("Claus", actual.getSortString().getValue());
assertEquals(expected.getClassification().getValue(), actual.getClassification().getValue());
assertEquals(expected.getMailer().getValue(), actual.getMailer().getValue());
assertEquals(expected.getFormattedName().getValue(), actual.getFormattedName().getValue());
assertEquals(expected.getUid().getValue(), actual.getUid().getValue());
assertEquals(expected.getNickname().getValues(), actual.getNickname().getValues());
assertEquals(expected.getOrganization().getValues(), actual.getOrganization().getValues());
assertEquals(expected.getCategories().getValues(), actual.getCategories().getValues());
assertEquals(expected.getBirthday().getDate(), actual.getBirthday().getDate());
assertEquals(expected.getRevision().getValue(), actual.getRevision().getValue());
assertEquals(expected.getGeo().getLatitude(), actual.getGeo().getLatitude());
assertEquals(expected.getGeo().getLongitude(), actual.getGeo().getLongitude());
assertEquals(expected.getTimezone().getOffset(), actual.getTimezone().getOffset());
// text value is not written
assertNull(actual.getTimezone().getText());
{
StructuredName e = expected.getStructuredName();
StructuredName a = actual.getStructuredName();
assertEquals(e.getFamily(), a.getFamily());
assertEquals(e.getGiven(), a.getGiven());
assertEquals(e.getAdditionalNames(), a.getAdditionalNames());
assertEquals(e.getPrefixes(), a.getPrefixes());
assertEquals(e.getSuffixes(), a.getSuffixes());
assertTrue(a.getSortAs().isEmpty());
}
assertEquals(expected.getTitles().size(), actual.getTitles().size());
for (int i = 0; i < expected.getTitles().size(); i++) {
Title e = expected.getTitles().get(i);
Title a = actual.getTitles().get(i);
assertEquals(e.getValue(), a.getValue());
}
assertEquals(expected.getRoles().size(), actual.getRoles().size());
for (int i = 0; i < expected.getRoles().size(); i++) {
Role e = expected.getRoles().get(i);
Role a = actual.getRoles().get(i);
assertEquals(e.getValue(), a.getValue());
}
assertEquals(expected.getNotes().size(), actual.getNotes().size());
for (int i = 0; i < expected.getNotes().size(); i++) {
Note e = expected.getNotes().get(i);
Note a = actual.getNotes().get(i);
assertEquals(e.getValue(), a.getValue());
}
assertEquals(expected.getUrls().size(), actual.getUrls().size());
for (int i = 0; i < expected.getUrls().size(); i++) {
Url e = expected.getUrls().get(i);
Url a = actual.getUrls().get(i);
assertEquals(e.getValue(), a.getValue());
}
assertEquals(expected.getImpps().size(), actual.getImpps().size());
for (int i = 0; i < expected.getImpps().size(); i++) {
Impp e = expected.getImpps().get(i);
Impp a = actual.getImpps().get(i);
assertEquals(e.getUri(), a.getUri());
}
assertEquals(expected.getEmails().size(), actual.getEmails().size());
for (int i = 0; i < expected.getEmails().size(); i++) {
Email e = expected.getEmails().get(i);
Email a = actual.getEmails().get(i);
assertEquals(e.getValue(), a.getValue());
assertEquals(e.getTypes(), a.getTypes());
}
assertEquals(expected.getTelephoneNumbers().size(), actual.getTelephoneNumbers().size());
for (int i = 0; i < expected.getTelephoneNumbers().size(); i++) {
Telephone e = expected.getTelephoneNumbers().get(i);
Telephone a = actual.getTelephoneNumbers().get(i);
if (e.getText() != null) {
assertEquals(e.getText(), a.getText());
} else {
TelUri uri = e.getUri();
if (uri.getExtension() == null) {
assertEquals(e.getUri().getNumber(), a.getText());
} else {
assertEquals(e.getUri().getNumber() + " x" + uri.getExtension(), a.getText());
}
}
assertEquals(e.getTypes(), a.getTypes());
}
assertEquals(expected.getAddresses().size(), actual.getAddresses().size());
for (int i = 0; i < expected.getAddresses().size(); i++) {
Address e = expected.getAddresses().get(i);
Address a = actual.getAddresses().get(i);
assertEquals(e.getPoBox(), a.getPoBox());
assertEquals(e.getExtendedAddress(), a.getExtendedAddress());
assertEquals(e.getStreetAddress(), a.getStreetAddress());
assertEquals(e.getLocality(), a.getLocality());
assertEquals(e.getRegion(), a.getRegion());
assertEquals(e.getPostalCode(), a.getPostalCode());
assertEquals(e.getCountry(), a.getCountry());
assertEquals(e.getLabel(), a.getLabel());
assertEquals(e.getTypes(), a.getTypes());
}
assertEquals(expected.getPhotos().size(), actual.getPhotos().size());
for (int i = 0; i < expected.getPhotos().size(); i++) {
Photo e = expected.getPhotos().get(i);
Photo a = actual.getPhotos().get(i);
assertEquals(e.getContentType(), a.getContentType());
assertArrayEquals(e.getData(), a.getData());
}
assertEquals(expected.getSounds().size(), actual.getSounds().size());
for (int i = 0; i < expected.getSounds().size(); i++) {
Sound e = expected.getSounds().get(i);
Sound a = actual.getSounds().get(i);
assertEquals(e.getContentType(), a.getContentType());
assertArrayEquals(e.getData(), a.getData());
}
assertEquals("ez-vcard " + Ezvcard.VERSION, actual.getProductId().getValue());
}
use of ezvcard.property.Address in project ez-vcard by mangstadt.
the class JCardWriterTest method createExample.
public static VCard createExample() {
VCard vcard = new VCard();
vcard.setFormattedName("SimonPerreault");
StructuredName n = new StructuredName();
n.setFamily("Perreault");
n.setGiven("Simon");
n.getSuffixes().add("ing.jr");
n.getSuffixes().add("M.Sc.");
vcard.setStructuredName(n);
Birthday bday = new Birthday(PartialDate.builder().month(2).date(3).build());
vcard.setBirthday(bday);
Anniversary anniversary = new Anniversary(PartialDate.builder().year(2009).month(8).date(8).hour(14).minute(30).second(0).offset(new UtcOffset(false, -5, 0)).build());
vcard.setAnniversary(anniversary);
vcard.setGender(Gender.male());
vcard.addLanguage("fr").setPref(1);
vcard.addLanguage("en").setPref(2);
vcard.setOrganization("Viagenie").setType("work");
Address adr = new Address();
adr.setExtendedAddress("SuiteD2-630");
adr.setStreetAddress("2875Laurier");
adr.setLocality("Quebec");
adr.setRegion("QC");
adr.setPostalCode("G1V2M2");
adr.setCountry("Canada");
adr.getTypes().add(AddressType.WORK);
vcard.addAddress(adr);
TelUri telUri = new TelUri.Builder("+1-418-656-9254").extension("102").build();
Telephone tel = new Telephone(telUri);
tel.getTypes().add(TelephoneType.WORK);
tel.getTypes().add(TelephoneType.VOICE);
tel.setPref(1);
vcard.addTelephoneNumber(tel);
tel = new Telephone(new TelUri.Builder("+1-418-262-6501").build());
tel.getTypes().add(TelephoneType.WORK);
tel.getTypes().add(TelephoneType.CELL);
tel.getTypes().add(TelephoneType.VOICE);
tel.getTypes().add(TelephoneType.VIDEO);
tel.getTypes().add(TelephoneType.TEXT);
vcard.addTelephoneNumber(tel);
vcard.addEmail("simon.perreault@viagenie.ca", EmailType.WORK);
Geo geo = new Geo(46.772673, -71.282945);
geo.setType("work");
vcard.setGeo(geo);
Key key = new Key("http://www.viagenie.ca/simon.perreault/simon.asc", null);
key.setType("work");
vcard.addKey(key);
vcard.setTimezone(new Timezone(new UtcOffset(false, -5, 0)));
vcard.addUrl("http://nomis80.org").setType("home");
return vcard;
}
use of ezvcard.property.Address in project ez-vcard by mangstadt.
the class AddressScribeTest method prepareParameters_pref_parameter.
/**
* If properties contain "PREF" parameters and they're being marshalled to
* 2.1/3.0, then it should find the type with the lowest PREF value and add
* "TYPE=pref" to it.
*/
@Test
public void prepareParameters_pref_parameter() {
// TODO move this test to VCardPropertyScribeTest (except for the "label" part)
VCard vcard = new VCard();
Address adr2 = new Address();
adr2.setPref(2);
vcard.addAddress(adr2);
Address adr1 = new Address();
adr1.setPref(1);
vcard.addAddress(adr1);
Address adr3 = new Address();
vcard.addAddress(adr3);
// 2.1 and 3.0 converts the lowest PREF parameter to "TYPE=pref", and removes all the rest
sensei.assertPrepareParams(adr1).versions(V2_1, V3_0).vcard(vcard).expected("TYPE", "pref").run();
sensei.assertPrepareParams(adr2).versions(V2_1, V3_0).vcard(vcard).run();
sensei.assertPrepareParams(adr3).versions(V2_1, V3_0).vcard(vcard).run();
// 4.0 keeps it
sensei.assertPrepareParams(adr1).versions(V4_0).vcard(vcard).expected("PREF", "1").run();
sensei.assertPrepareParams(adr2).versions(V4_0).vcard(vcard).expected("PREF", "2").run();
sensei.assertPrepareParams(adr3).versions(V4_0).vcard(vcard).run();
}
use of ezvcard.property.Address in project ez-vcard by mangstadt.
the class AddressScribeTest method parseJson.
@Test
public void parseJson() {
JCardValue value = JCardValue.structured("P.O. Box 1234;", "Apt, 11", "123 Main St", "Austin", "TX", "12345", "USA");
sensei.assertParseJson(value).run(withAllFields);
value = JCardValue.structured("P.O. Box 1234;", Arrays.asList("Apt, 11", "P.O. Box 12"), Arrays.asList("123 Main St", "555 Main St"), "Austin", "TX", "12345", "USA");
sensei.assertParseJson(value).run(withMultipleValuesFields);
value = JCardValue.structured("P.O. Box 1234;", "", "", "Austin", "TX", "12345", "");
sensei.assertParseJson(value).run(withSomeFields);
value = JCardValue.structured("", null, "", "", "", "", "");
sensei.assertParseJson(value).run(empty);
value = JCardValue.structured();
sensei.assertParseJson(value).run(empty);
value = JCardValue.structured("P.O. Box 1234;", "Apt, 11", "123 Main St", "Austin");
sensei.assertParseJson(value).run(new Check<Address>() {
public void check(Address property) {
assertEquals("P.O. Box 1234;", property.getPoBox());
assertEquals("Apt, 11", property.getExtendedAddress());
assertEquals("123 Main St", property.getStreetAddress());
assertEquals("Austin", property.getLocality());
assertNull(property.getRegion());
assertNull(property.getPostalCode());
assertNull(property.getCountry());
}
});
}
Aggregations