Skip to content

Commit

Permalink
chore:[CO-1019] Bulk apply common code clean-up (#461)
Browse files Browse the repository at this point in the history
* chore:[memory] Make possible inner classes static to optimize memory footprint

* chore: remove un-necessary imports

* chore: cleanup of switch statements

- remove redundant cases and un-necessary returns

* chore: remove un-necessary returns

* chore: remove unnecessary continue statements

if they are the last reachable statements in the loop

* chore: simplify collection operations

* chore: simplify min/max calculation

replace complex minimum/maximum value calculation with Math.min/max

* chore: cleanup of redundant type cast expressions

* chore: cleanup of excessive range checks

* chore: simplify explicit array filling

replace with Arrays.fill()

* chore: remove redundant condition checks

Removes redundant conditions that are covered by further condition checks

* chore: remove redundant File instance creations

* chore: remove explicit array creation

* chore: simplify String usages

Removed redundant String constructors and calls to methods like toString() or substring() where they can be replaced with a simplified expression

* chore: [performance] avoid calls to Arrays.asList() with at most one argument

* chore: fix test for UniversalLexer with partial revert of d3819f8

remove redundant cases and un-necessary returns

* chore: replace extended for loops with enhanced one

* chore: replace string indexof with contains

* chore: remove unnecessary boxing

remove unnecessary wrapping of primitive values in objects

* chore: remove unnecessary boxing

replace Integer.valueOf with Integer.parseInt

* chore: remove unnecessary unboxing

replace explicit unwrapping of wrapped primitive values

* chore: remove explicit types with diamond operator

replace`new` expressions with type arguments that can be replaced a with diamond type <>

* chore: merge identical catch blocks together

* chore: replace try finally with try-with-resources statement

* chore: replace anonymous classes with lambda expression

* chore: fix compilation of LuceneIndex by reverting portion of e608376

* chore: replace anonymous classes with their shorter lambda alternatives

* chore: replace Collection.sort with List.sort

* chore: make inner classes static

* chore: remove unused imports

* style: cleanup of code style issues...

- c style array to java style array
- correct modifier sorting
- use standard charset constants to define charset encoding
- unnecessary toString calls
- unnecessary null checks before calling Object.equals()
- unnecessary conversion to String
- unnecessary enum modifiers
- unnecessary interface modifiers
- unnecessary semicolon

* style: cleanup ZAuthToken

remove empty if

* style: cleanup JavaMailInternetHeaders

remove empty if by flipping the conditions

* style: fix indentations in switch statement and add break in default in AttributeInfo

* chore: remove empty if in HostedAuth

* chore: remove empty if by flipping condition CosId

* chore: add break in default case in EphemeralBackendCheck

* chore: remove unnecessary if condition ImapFolderSync

* chore: remove/merge unnecessary if condition ImapHandler

* chore: update if condition ImapListener

* chore: update if condition ImapRemoteSession

* chore: update if condition ImapSession

* chore: remove empty if condition AutoDiscoverServlet

* chore: remove empty if condition AutoDiscoverServlet

* chore: cleanup if condition
VerifyStoreManager assertEquals

* chore: cleanup if condition
in ContactCSV

replace with switch, simplify the null check

* chore: cleanup UserServletUtil

remove comment

* chore: cleanup if statement in SoapSession

* chore: cleanup if statement in TritonBlobStoreManager

* chore: remove redundant if statement from TimeZoneDefinition

* chore: switch case default break HttpProxyConfig

* chore: cleanup of if statement MimeParser

* chore: cleanup of if statement ZMimeParser

* chore: cleanup of if statement LockMgr

* chore: cleanup of if statement ImapMessage

* chore: cleanup of if statement ContactTokenFilter

* chore: cleanup of if statement ContactAutoComplete

* chore: cleanup of if statement Conversation

* chore: cleanup of if statement Metadata

* chore: cleanup of if statement MetadataList

* chore: cleanup of if statement SenderList

* chore: cleanup of if statement Mime

* chore: add need brackets to KnownKey

* fix: resource leak in MimeDetect

- use real mime data files for tests

* fix: resource leak in MimeDetect

and add unit test

* chore: reorder placement of parent pom declaration

- add system-lambda dependency for testing in common module

* Revert "chore: [performance] avoid calls to Arrays.asList() with at most one argument"

This reverts commit 06821d8.

* chore: fix indentation

* chore: cleanup ZFolder

* chore: add private constructor for utility class + cleanup ZCalendar

* style: fix indentation ContentTransferEncoding

* chore: Use "java.util.function.Function" instead of Guava + cleanup

* chore: disable debugging in production code in MimeDetect

* chore: replace lambdas with method references in SoapConverter

* refactor: use try-with-resources in TZIDMapper

* refactor: avoid use of DBI for hashmap in ZFolder

to avoid memory leaks

* refactor: use EnumMap instead of hashmap in TimeZoneMap

* refactor: minor cleanup on ZoneInfo2iCalendar

- use StandardCharset constant instead of string literal
...

* refactor: avoid Exception in AutoDiscoverServlet doGet

* refactor: avoid throwing exceptions in servlet methods in RobotsServlet

 + cleanup

* test: add unit tests for RobotsServletTest

---------

Co-authored-by: Soner Sivri <sonersivri@gmail.com>
Co-authored-by: Yuliya Aheeva <yuliya.aheeva@mail.ru>
  • Loading branch information
3 people authored Mar 28, 2024
1 parent 5340ea1 commit 21288a6
Show file tree
Hide file tree
Showing 1,997 changed files with 11,121 additions and 11,821 deletions.
106 changes: 46 additions & 60 deletions client/src/main/java/com/zimbra/client/SoapConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,38 @@
import com.google.common.base.Function;
import com.google.common.collect.BiMap;
import com.google.common.collect.EnumBiMap;
import com.zimbra.client.ZFolder.View;
import com.zimbra.common.account.Key;
import com.zimbra.soap.account.type.Identity;
import com.zimbra.soap.account.type.Signature;
import com.zimbra.soap.mail.type.Folder;
import com.zimbra.soap.type.AccountBy;
import org.checkerframework.checker.nullness.qual.Nullable;


/**
* Converts between {@code com.zimbra.soap} objects and {@code com.zimbra.client} objects.
*/
public class SoapConverter {

private static final BiMap<Folder.View, ZFolder.View> VIEW_MAP;

private SoapConverter() {
throw new IllegalStateException("Utility class");
}

private static final BiMap<Folder.View, View> VIEW_MAP;
private static final BiMap<AccountBy, Key.AccountBy> ACCOUNT_BY_MAP;

static {
VIEW_MAP = EnumBiMap.create(Folder.View.class, ZFolder.View.class);
VIEW_MAP.put(Folder.View.UNKNOWN, ZFolder.View.unknown);
VIEW_MAP.put(Folder.View.APPOINTMENT, ZFolder.View.appointment);
VIEW_MAP.put(Folder.View.CHAT, ZFolder.View.chat);
VIEW_MAP.put(Folder.View.CONTACT, ZFolder.View.contact);
VIEW_MAP.put(Folder.View.CONVERSATION, ZFolder.View.conversation);
VIEW_MAP.put(Folder.View.MESSAGE, ZFolder.View.message);
VIEW_MAP.put(Folder.View.REMOTE_FOLDER, ZFolder.View.remote);
VIEW_MAP.put(Folder.View.SEARCH_FOLDER, ZFolder.View.search);
VIEW_MAP.put(Folder.View.TASK, ZFolder.View.task);
VIEW_MAP = EnumBiMap.create(Folder.View.class, View.class);
VIEW_MAP.put(Folder.View.UNKNOWN, View.unknown);
VIEW_MAP.put(Folder.View.APPOINTMENT, View.appointment);
VIEW_MAP.put(Folder.View.CHAT, View.chat);
VIEW_MAP.put(Folder.View.CONTACT, View.contact);
VIEW_MAP.put(Folder.View.CONVERSATION, View.conversation);
VIEW_MAP.put(Folder.View.MESSAGE, View.message);
VIEW_MAP.put(Folder.View.REMOTE_FOLDER, View.remote);
VIEW_MAP.put(Folder.View.SEARCH_FOLDER, View.search);
VIEW_MAP.put(Folder.View.TASK, View.task);

ACCOUNT_BY_MAP = EnumBiMap.create(AccountBy.class, Key.AccountBy.class);
ACCOUNT_BY_MAP.put(AccountBy.name , Key.AccountBy.name);
Expand All @@ -44,63 +50,43 @@ public class SoapConverter {
ACCOUNT_BY_MAP.put(AccountBy.appAdminName, Key.AccountBy.appAdminName);
}

public static Function<Folder.View, ZFolder.View> FROM_SOAP_VIEW = new Function<Folder.View, ZFolder.View>() {
@Override
public ZFolder.View apply(Folder.View from) {
ZFolder.View to = VIEW_MAP.get(from);
return (to != null ? to : ZFolder.View.unknown);
}
public static java.util.function.Function<Folder.View, @Nullable View> FROM_SOAP_VIEW = new Function<>() {
@Override
public View apply(Folder.View from) {
View to = VIEW_MAP.get(from);
return (to != null ? to : View.unknown);
}
};

public static Function<ZFolder.View, Folder.View> TO_SOAP_VIEW = new Function<ZFolder.View, Folder.View>() {
@Override
public Folder.View apply(ZFolder.View from) {
Folder.View to = VIEW_MAP.inverse().get(from);
return (to != null ? to : Folder.View.UNKNOWN);
}
public static java.util.function.Function<View, Folder.@Nullable View> TO_SOAP_VIEW = new Function<>() {
@Override
public Folder.View apply(View from) {
Folder.View to = VIEW_MAP.inverse().get(from);
return (to != null ? to : Folder.View.UNKNOWN);
}
};

public static Function<Identity, ZIdentity> FROM_SOAP_IDENTITY = new Function<Identity, ZIdentity>() {
@Override
public ZIdentity apply(Identity from) {
return new ZIdentity(from);
}
};
public static java.util.function.Function<Identity, @Nullable ZIdentity> FROM_SOAP_IDENTITY = ZIdentity::new;

public static Function<ZIdentity, Identity> TO_SOAP_IDENTITY = new Function<ZIdentity, Identity>() {
@Override
public Identity apply(ZIdentity from) {
return from.getData();
}
};
public static java.util.function.Function<ZIdentity, @Nullable Identity> TO_SOAP_IDENTITY = ZIdentity::getData;

public static Function<Signature, ZSignature> FROM_SOAP_SIGNATURE = new Function<Signature, ZSignature>() {
@Override
public ZSignature apply(Signature from) {
return new ZSignature(from);
}
};
public static java.util.function.Function<Signature, @Nullable ZSignature> FROM_SOAP_SIGNATURE = ZSignature::new;

public static Function<ZSignature, Signature> TO_SOAP_SIGNATURE = new Function<ZSignature, Signature>() {
@Override
public Signature apply(ZSignature from) {
return from.getData();
}
};
public static java.util.function.Function<ZSignature, @Nullable Signature> TO_SOAP_SIGNATURE = ZSignature::getData;

public static Function<AccountBy, Key.AccountBy> FROM_SOAP_ACCOUNT_BY =
new Function<AccountBy, Key.AccountBy>() {
@Override
public Key.AccountBy apply(AccountBy by) {
public static java.util.function.Function<AccountBy, Key.@Nullable AccountBy> FROM_SOAP_ACCOUNT_BY =
new Function<>() {
@Override
public Key.AccountBy apply(AccountBy by) {
return ACCOUNT_BY_MAP.get(by);
}
};
}
};

public static Function<Key.AccountBy, AccountBy> TO_SOAP_ACCOUNT_BY =
new Function<Key.AccountBy, AccountBy>() {
@Override
public AccountBy apply(Key.AccountBy by) {
public static java.util.function.Function<Key.AccountBy, @Nullable AccountBy> TO_SOAP_ACCOUNT_BY =
new Function<>() {
@Override
public AccountBy apply(Key.AccountBy by) {
return ACCOUNT_BY_MAP.inverse().get(by);
}
};
}
};
}
2 changes: 1 addition & 1 deletion client/src/main/java/com/zimbra/client/ToZJSONObject.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@


public interface ToZJSONObject {
public ZJSONObject toZJSONObject() throws JSONException;
ZJSONObject toZJSONObject() throws JSONException;
}
4 changes: 2 additions & 2 deletions client/src/main/java/com/zimbra/client/ZAlarm.java
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public ZAlarm(Element alarmElem) throws ServiceException{
while (attendeesIter.hasNext()) {
ZAttendee at = new ZAttendee(attendeesIter.next());
if (this.mAttendees == null)
this.mAttendees = new ArrayList<ZAttendee>();
this.mAttendees = new ArrayList<>();
this.mAttendees.add(at);
}
setAction(action);
Expand Down Expand Up @@ -251,7 +251,7 @@ public void setAttendees(List<ZAttendee> attendees){

public void addAttendee(ZAttendee attendee){
if (this.mAttendees == null){
this.mAttendees = new ArrayList<ZAttendee>();
this.mAttendees = new ArrayList<>();
}
this.mAttendees.add(attendee);
}
Expand Down
22 changes: 11 additions & 11 deletions client/src/main/java/com/zimbra/client/ZAppointmentHit.java
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ static void addInstances(Element e, List<ZSearchHit> appts, TimeZone timeZone, b
List<String> categories = null;
Iterator<Element> catIter = e.elementIterator(MailConstants.E_CAL_CATEGORY);
if (catIter.hasNext()) {
categories = new ArrayList<String>();
categories = new ArrayList<>();
for (; catIter.hasNext(); ) {
String cat = catIter.next().getTextTrim();
categories.add(cat);
Expand Down Expand Up @@ -211,7 +211,7 @@ static void addInstances(Element e, List<ZSearchHit> appts, TimeZone timeZone, b
// if empty, add self as only instance
boolean noInstances = instances.isEmpty();
if (noInstances) {
instances = new ArrayList<Element>();
instances = new ArrayList<>();
instances.add(e);
}

Expand Down Expand Up @@ -259,7 +259,7 @@ static void addInstances(Element e, List<ZSearchHit> appts, TimeZone timeZone, b
List<String> instCategories = null;
Iterator<Element> instCatIter = inst.elementIterator(MailConstants.E_CAL_CATEGORY);
if (instCatIter.hasNext()) {
instCategories = new ArrayList<String>();
instCategories = new ArrayList<>();
for (; instCatIter.hasNext(); ) {
String cat = instCatIter.next().getTextTrim();
instCategories.add(cat);
Expand Down Expand Up @@ -668,11 +668,11 @@ public boolean isOverLapping(ZAppointmentHit that) {
}

public boolean isOverLapping(ZAppointmentHit that, long msecsIncr) {
long thisStart = ((long) (this.mStartTime / msecsIncr)) * msecsIncr;
long thisEnd = ((long) ((this.mEndTime + msecsIncr - 1) / msecsIncr)) * msecsIncr;
long thisStart = (this.mStartTime / msecsIncr) * msecsIncr;
long thisEnd = ((this.mEndTime + msecsIncr - 1) / msecsIncr) * msecsIncr;

long thatStart = ((long) (that.mStartTime / msecsIncr)) * msecsIncr;
long thatEnd = ((long) ((that.mEndTime + msecsIncr - 1) / msecsIncr)) * msecsIncr;
long thatStart = (that.mStartTime / msecsIncr) * msecsIncr;
long thatEnd = ((that.mEndTime + msecsIncr - 1) / msecsIncr) * msecsIncr;

return thisStart < thatEnd && thisEnd > thatStart;
}
Expand All @@ -687,11 +687,11 @@ public static boolean isOverLapping(long start1, long end1, long start2, long en

public static boolean isOverLapping(
long start1, long end1, long start2, long end2, long msecsIncr) {
start1 = ((long) (start1 / msecsIncr)) * msecsIncr;
end1 = ((long) ((end1 + msecsIncr - 1) / msecsIncr)) * msecsIncr;
start1 = (start1 / msecsIncr) * msecsIncr;
end1 = ((end1 + msecsIncr - 1) / msecsIncr) * msecsIncr;

start2 = ((long) (start2 / msecsIncr)) * msecsIncr;
end2 = ((long) ((end2 + msecsIncr - 1) / msecsIncr)) * msecsIncr;
start2 = (start2 / msecsIncr) * msecsIncr;
end2 = ((end2 + msecsIncr - 1) / msecsIncr) * msecsIncr;

return start1 < end2 && end1 > start2;
}
Expand Down
16 changes: 7 additions & 9 deletions client/src/main/java/com/zimbra/client/ZApptSummaryCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
import com.zimbra.client.event.ZCreateAppointmentEvent;
import com.zimbra.client.event.ZModifyAppointmentEvent;
import com.zimbra.common.service.ServiceException;
import com.zimbra.common.soap.MailConstants;
import com.zimbra.common.soap.Element;

import java.util.HashMap;
import java.util.Map;
Expand Down Expand Up @@ -44,17 +42,17 @@ public class ZApptSummaryCache extends ZEventHandler {
private Map<String, Set<String>> mMiniCalCache;

public ZApptSummaryCache() {
mResults = new HashMap<String, ZApptSummaryResult>();
mIds = new HashSet<String>();
mMiniCalCache = new HashMap<String, Set<String>>();
mResults = new HashMap<>();
mIds = new HashSet<>();
mMiniCalCache = new HashMap<>();
}

private String makeKey(long start, long end, String folderId, TimeZone timezone, String query) {
if (query == null) query = "";
return start+":"+end+":"+folderId+":"+timezone.getID() + ":"+ query;
}

private String makeMiniCalKey(long start, long end, String folderIds[]) {
private String makeMiniCalKey(long start, long end, String[] folderIds) {
if (folderIds.length == 1) {
return start+":"+end+":"+folderIds[0];
} else {
Expand All @@ -78,7 +76,7 @@ synchronized ZApptSummaryResult get(long start, long end, String folderId, TimeZ
// let's see if results might potentially be contained within another result
for (ZApptSummaryResult cached : mResults.values()) {
if (cached.getQuery().equals(query) && cached.getTimeZone().getID().equals(timezone.getID()) && cached.getFolderId().equals(folderId) && (cached.getStart() <= start && end <= cached.getEnd())) {
List<ZAppointmentHit> appts = new ArrayList<ZAppointmentHit>();
List<ZAppointmentHit> appts = new ArrayList<>();
for (ZAppointmentHit appt : cached.getAppointments()) {
if (appt.isInRange(start, end))
appts.add(appt);
Expand All @@ -90,11 +88,11 @@ synchronized ZApptSummaryResult get(long start, long end, String folderId, TimeZ
return result;
}

synchronized void putMiniCal(Set<String> result, long start, long end, String folderIds[]) {
synchronized void putMiniCal(Set<String> result, long start, long end, String[] folderIds) {
mMiniCalCache.put(makeMiniCalKey(start, end, folderIds), result);
}

synchronized Set<String> getMiniCal(long start, long end, String folderIds[]) {
synchronized Set<String> getMiniCal(long start, long end, String[] folderIds) {
return mMiniCalCache.get(makeMiniCalKey(start, end, folderIds));
}

Expand Down
4 changes: 2 additions & 2 deletions client/src/main/java/com/zimbra/client/ZBaseItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ public int getModifiedSequence() {
mMailbox, getId(), e);
return 0;
}
if ((null == zmi) || !(zmi instanceof ZBaseItem)) {
if (!(zmi instanceof ZBaseItem)) {
return 0;
}
modifiedSequence = (((ZBaseItem)zmi).modifiedSequence <=0 ) ? 0 : ((ZBaseItem)zmi).modifiedSequence;
modifiedSequence = Math.max(((ZBaseItem) zmi).modifiedSequence, 0);
return modifiedSequence;
}

Expand Down
3 changes: 1 addition & 2 deletions client/src/main/java/com/zimbra/client/ZCalendarItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

import org.json.JSONException;

import com.zimbra.client.event.ZModifyEvent;
import com.zimbra.client.event.ZModifyMessageEvent;
import com.zimbra.common.service.ServiceException;
import com.zimbra.common.soap.Element;
Expand Down Expand Up @@ -66,7 +65,7 @@ public ZCalendarItem(Element e) throws ServiceException {
mDate = e.getAttributeLong(MailConstants.A_DATE, 0);
mFolderId = e.getAttribute(MailConstants.A_FOLDER, null);
mSize = e.getAttributeLong(MailConstants.A_SIZE);
mInvites = new ArrayList<ZInvite>();
mInvites = new ArrayList<>();
for (Element inviteEl : e.listElements(MailConstants.E_INVITE)) {
mInvites.add(new ZInvite(inviteEl));
}
Expand Down
8 changes: 4 additions & 4 deletions client/src/main/java/com/zimbra/client/ZContact.java
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ public ZContact(Element e, ZMailbox zmailbox) throws ServiceException {
mDate = e.getAttributeLong(MailConstants.A_DATE, 0);
mMetaDataChangedDate = e.getAttributeLong(MailConstants.A_CHANGE_DATE, 0) * 1000;

HashMap<String, String> attrs = new HashMap<String, String>();
HashMap<String, ZContactAttachmentInfo> attachments = new HashMap<String, ZContactAttachmentInfo>();
HashMap<String, String> attrs = new HashMap<>();
HashMap<String, ZContactAttachmentInfo> attachments = new HashMap<>();

for (Element attrEl : e.listElements(MailConstants.E_ATTRIBUTE)) {
String name = attrEl.getAttribute(MailConstants.A_ATTRIBUTE_NAME);
Expand All @@ -184,7 +184,7 @@ public ZContact(Element e, ZMailbox zmailbox) throws ServiceException {
mAttrs = Collections.unmodifiableMap(attrs);
mAttachments = Collections.unmodifiableMap(attachments);

HashMap<String, ZContact> members = new HashMap<String, ZContact>();
HashMap<String, ZContact> members = new HashMap<>();
for (Element memberEl : e.listElements(MailConstants.E_CONTACT_GROUP_MEMBER)) {
String id = memberEl.getAttribute(MailConstants.A_CONTACT_GROUP_MEMBER_VALUE);
String type = memberEl.getAttribute(MailConstants.A_CONTACT_GROUP_MEMBER_TYPE);
Expand Down Expand Up @@ -453,7 +453,7 @@ public int getImapUid() {
if (null == zc) {
return 0;
}
imapUid = (zc.imapUid <=0 ) ? 0 : zc.imapUid;
imapUid = Math.max(zc.imapUid, 0);
return imapUid;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ public ContactPhone(ZContact contact, String field) {
private Map<String,ZContact> mContacts;

public ZContactByPhoneCache() {
mCache = new HashMap<String, ContactPhone>();
mCache = new HashMap<>();
mCleared = true;
mContacts = new HashMap<String, ZContact>();
mContacts = new HashMap<>();
}

private void addPhoneKey(String field, ZContact contact) {
Expand Down
11 changes: 6 additions & 5 deletions client/src/main/java/com/zimbra/client/ZContactHit.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ public ZContactHit(Element e) throws ServiceException {
imapUid = e.getAttributeInt(MailConstants.A_IMAP_UID, -1);
modSeq = e.getAttributeInt(MailConstants.A_MODIFIED_SEQUENCE, -1);

HashMap<String, String> attrs = new HashMap<String, String>();
HashMap<String, ZContactAttachmentInfo> attachments = new HashMap<String, ZContactAttachmentInfo>();
HashMap<String, String> attrs = new HashMap<>();
HashMap<String, ZContactAttachmentInfo> attachments = new HashMap<>();

for (Element attrEl : e.listElements(MailConstants.E_ATTRIBUTE)) {
String name = attrEl.getAttribute(MailConstants.A_ATTRIBUTE_NAME);
Expand Down Expand Up @@ -299,15 +299,16 @@ public String getFullName() {
public String getFileAs() { return mFileAs; }
public String getNickname() { return mNickname; }
public String getNamePrefix() { return mNamePrefix; }
public String getFirstName() { return mFirstName; };
public String getFirstName() { return mFirstName; }
public String getPhoneticFirstName() { return mPhoneticFirstName; }
public String getMiddleName() { return mMiddleName; }
public String getMaidenName() { return mMaidenName; }
public String getLastName() { return mLastName; }
public String getPhoneticLastName() { return mPhoneticLastName; }
public String getNameSuffix() { return mNameSuffix; }
public String getCompany() { return mCompany; };
public String getPhoneticCompany() { return mPhoneticCompany; }
public String getCompany() { return mCompany; }

public String getPhoneticCompany() { return mPhoneticCompany; }

@Override
public void modifyNotification(ZModifyEvent event) throws ServiceException {
Expand Down
Loading

0 comments on commit 21288a6

Please sign in to comment.