Skip to content

Instantly share code, notes, and snippets.

@iotakodali
Created January 10, 2018 04:55
Show Gist options
  • Save iotakodali/2cc0abf9700f6c4af7802a84eb991e26 to your computer and use it in GitHub Desktop.
Save iotakodali/2cc0abf9700f6c4af7802a84eb991e26 to your computer and use it in GitHub Desktop.
UIDAI - SRDH Code Parameters
/*******************************************************************************
* DISCLAIMER: The sample code or utility or tool described herein
* is provided on an "as is" basis, without warranty of any kind.
* UIDAI does not warrant or guarantee the individual success
* developers may have in implementing the sample code on their
* environment.
*
* UIDAI does not warrant, guarantee or make any representations
* of any kind with respect to the sample code and does not make
* any representations or warranties regarding the use, results
* of use, accuracy, timeliness or completeness of any data or
* information relating to the sample code. UIDAI disclaims all
* warranties, express or implied, and in particular, disclaims
* all warranties of merchantability, fitness for a particular
* purpose, and warranties related to the code, or any service
* or software related thereto.
*
* UIDAI is not responsible for and shall not be liable directly
* or indirectly for any direct, indirect damages or costs of any
* type arising out of use or any action taken by you or others
* related to the sample code.
*
* THIS IS NOT A SUPPORTED SOFTWARE.
******************************************************************************/
package in.gov.uidai.srdh.converter.eiduid;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
/**
* @author pramod.varma
*
*/
public class CsvBean {
public static String[] cols = new String[] { "uid", "eid", "registrar", "name", "nameLocal", "dob", "gender", "guardianName",
"guardianNameLocal","res_guardian_reltn_type", "mobileNo", "emailId", "langCode", "bioFlag","bnk_shre_cnsnt","info_shre_cnsnt",
"poi","poa","uidDate", "careOf", "careOfLocal", "building", "buildingLocal",
"street", "streetLocal", "landmark", "landmarkLocal", "locality", "localityLocal", "vtc", "vtcLocal", "district", "districtLocal",
"res_addr_subdistrict_name","res_addr_subdistrict_name_local","stateCode", "state", "stateLocal","res_addr_po_name", "res_addr_po_name_local","pincode"};
private String uid;
private String eid;
private String registrar;
private String name;
private String nameLocal;
private String dob;
private String gender;
private String guardianName;
private String guardianNameLocal;
private String mobileNo;
private String emailId;
private String langCode;
private String bioFlag;
private String uidDate;
private String careOf;
private String careOfLocal;
private String building;
private String buildingLocal;
private String street;
private String streetLocal;
private String landmark;
private String landmarkLocal;
private String locality;
private String localityLocal;
private String vtc;
private String vtcLocal;
private String poName;
private String poNameLocal;
private String district;
private String districtLocal;
private String stateCode;
private String state;
private String stateLocal;
private String pincode;
private String sharingConsent;
private String res_guardian_reltn_type;
private String bnk_shre_cnsnt;
private String info_shre_cnsnt;
private String poi;
private String poa;
private String res_addr_subdistrict_name;
private String res_addr_subdistrict_name_local;
private String res_addr_po_name;
private String res_addr_po_name_local;
public String toXml() {
String enrlRow = "<enrollment ";
if (isNotNullorNotEmpty(eid)) {
enrlRow += addAttr("eid", eid);
enrlRow += addAttr("eidDate", getEidDate(eid));
}
enrlRow += addAttr("enrolmentType", AppConstants.ENROLMENT);
enrlRow += addAttr("status", AppConstants.PROCESSED_SUCCESSFULLY);
if (isNotNullorNotEmpty(uidDate)) {
enrlRow += addAttr("lastActionedDate", getlastActionedDate(uidDate));
}
if (isNotNullorNotEmpty(uid)) {
enrlRow += addAttr("uid", uid);
}
if (isNotNullorNotEmpty(name)) {
enrlRow += addAttr("name", replaceSpecialCharforXML(name));
}
if (isNotNullorNotEmpty(nameLocal)) {
enrlRow += addAttr("name-local", replaceSpecialCharforXML(nameLocal));
}
if (isNotNullorNotEmpty(dob)) {
enrlRow += addAttr("dob", getDoB(dob));
enrlRow += addAttr("dob-year", getDoBYear(dob));
}
if (isNotNullorNotEmpty(gender)) {
enrlRow += addAttr("gender", gender);
}
if (isNotNullorNotEmpty(careOf)) {
enrlRow += addAttr("addr-careof", replaceSpecialCharforXML(careOf));
}
if (isNotNullorNotEmpty(careOfLocal)) {
enrlRow += addAttr("addr-careof-local", replaceSpecialCharforXML(careOfLocal));
}
if (isNotNullorNotEmpty(building)) {
enrlRow += addAttr("addr-building", replaceSpecialCharforXML(building));
}
if (isNotNullorNotEmpty(buildingLocal)) {
enrlRow += addAttr("addr-building-local", replaceSpecialCharforXML(buildingLocal));
}
if (isNotNullorNotEmpty(street)) {
enrlRow += addAttr("addr-street", replaceSpecialCharforXML(street));
}
if (isNotNullorNotEmpty(streetLocal)) {
enrlRow += addAttr("addr-street-local", replaceSpecialCharforXML(streetLocal));
}
if (isNotNullorNotEmpty(landmark)) {
enrlRow += addAttr("addr-landmark", replaceSpecialCharforXML(landmark));
}
if (isNotNullorNotEmpty(landmarkLocal)) {
enrlRow += addAttr("addr-landmark-local", replaceSpecialCharforXML(landmarkLocal));
}
if (isNotNullorNotEmpty(locality)) {
enrlRow += addAttr("addr-locality", replaceSpecialCharforXML(locality));
}
if (isNotNullorNotEmpty(localityLocal)) {
enrlRow += addAttr("addr-locality-local", replaceSpecialCharforXML(localityLocal));
}
if (isNotNullorNotEmpty(vtc)) {
enrlRow += addAttr("addr-vtc-name", replaceSpecialCharforXML(vtc));
}
if (isNotNullorNotEmpty(vtcLocal)) {
enrlRow += addAttr("addr-vtc-name-local", replaceSpecialCharforXML(vtcLocal));
}
if (isNotNullorNotEmpty(poName)) {
enrlRow += addAttr("addr-po-name", replaceSpecialCharforXML(poName));
}
if (isNotNullorNotEmpty(poNameLocal)) {
enrlRow += addAttr("addr-po-name-local", replaceSpecialCharforXML(poNameLocal));
}
if (isNotNullorNotEmpty(district)) {
enrlRow += addAttr("addr-district-name", replaceSpecialCharforXML(district));
}
if (isNotNullorNotEmpty(districtLocal)) {
enrlRow += addAttr("addr-district-name-local", replaceSpecialCharforXML(districtLocal));
}
if (isNotNullorNotEmpty(state)) {
enrlRow += addAttr("addr-state-name", replaceSpecialCharforXML(state));
}
if (isNotNullorNotEmpty(stateLocal)) {
enrlRow += addAttr("addr-state-name-local", replaceSpecialCharforXML(stateLocal));
}
if (isNotNullorNotEmpty(pincode)) {
enrlRow += addAttr("addr-pincode", pincode);
}
if (isNotNullorNotEmpty(mobileNo)) {
enrlRow += addAttr("mobile", mobileNo);
}
if (isNotNullorNotEmpty(emailId)) {
enrlRow += addAttr("email", emailId);
}
enrlRow += addAttr("information-sharing-consent", info_shre_cnsnt);
//enrlRow += addAttr("information-sharing-consent", AppConstants.TRUE); //Change as now info sharing info is coming in csv
// enrlRow += addAttr("photo",""); // photo should be loaded from photo
// csv separately
enrlRow += "/>";
return enrlRow;
}
private String getDoB(String dob) {
return dob.substring(6, 10) + "-" + dob.substring(3, 5) + "-" + dob.substring(0, 2);
}
private String getDoBYear(String dob) {
return dob.substring(6, 10);
}
private String getlastActionedDate(String uidDate) {
return uidDate.substring(0, 4) + ":" + uidDate.substring(5, 7) + ":" + uidDate.substring(8, 10) + " " + uidDate.substring(11, 13) + ":"
+ uidDate.substring(14, 16) + ":" + uidDate.substring(17, 19);
}
private String getEidDate(String eid) {
return eid.substring(14, 18) + ":" + eid.substring(18, 20) + ":" + eid.substring(20, 22) + " " + eid.substring(22, 24) + ":"
+ eid.substring(24, 26) + ":" + eid.substring(26, 28);
}
private String addAttr(String n, String v) {
if ("N".equalsIgnoreCase(v))
v = "";
return n + "=\"" + v + "\" ";
}
private boolean isNotNullorNotEmpty(String input) {
boolean chkFlag = false;
if (null != input && !input.equalsIgnoreCase(AppConstants.BLANK_STRING) && !input.equalsIgnoreCase(AppConstants.NULL)) {
chkFlag = true;
} else {
chkFlag = false;
}
return chkFlag;
}
@Override
public String toString() {
return "CsvBean [uid=" + uid + ", eid=" + eid + ", registrar=" + registrar + ", name=" + name + ", nameLocal=" + nameLocal + ", dob=" + dob
+ ", gender=" + gender + ", guardianName=" + guardianName + ", guardianNameLocal=" + guardianNameLocal + ", mobileNo=" + mobileNo
+ ", emailId=" + emailId + ", langCode=" + langCode + ", bioFlag=" + bioFlag + ", uidDate=" + uidDate + ", careOf=" + careOf
+ ", careOfLocal=" + careOfLocal + ", building=" + building + ", buildingLocal=" + buildingLocal + ", street=" + street
+ ", streetLocal=" + streetLocal + ", landmark=" + landmark + ", landmarkLocal=" + landmarkLocal + ", locality=" + locality
+ ", localityLocal=" + localityLocal + ", vtc=" + vtc + ", vtcLocal=" + vtcLocal + ", poName=" + poName + ", poNameLocal="
+ poNameLocal + ", district=" + district + ", districtLocal=" + districtLocal + ", stateCode=" + stateCode + ", state=" + state
+ ", stateLocal=" + stateLocal + ", pincode=" + pincode + ",res_guardian_reltn_type="+ res_guardian_reltn_type + ",bnk_shre_cnsnt="+bnk_shre_cnsnt+ ",info_shre_cnsnt= "
+info_shre_cnsnt +",poi="+poi+ ",poa="+poa + ",res_addr_subdistrict_name="+res_addr_subdistrict_name
+",res_addr_subdistrict_name_local="+res_addr_subdistrict_name_local+"]";
}
/**
Escape characters for text appearing as XML data, between tags.
<tr><th> Character </th><th> Encoding </th></tr>
<tr><td> < </td><td> &lt; </td></tr>
<tr><td> > </td><td> &gt; </td></tr>
<tr><td> & </td><td> &amp; </td></tr>
<tr><td> " </td><td> &quot;</td></tr>
<tr><td> ' </td><td> &#039;</td></tr>
</table>
**/
public String replaceSpecialCharforXML(String aText) {
final StringBuilder result = new StringBuilder();
final StringCharacterIterator iterator = new StringCharacterIterator(aText);
char character = iterator.current();
while (character != CharacterIterator.DONE) {
if (character == '&') {
result.append("&amp;");
} else if (character == '<') {
result.append("&lt;");
} else if (character == '>') {
result.append("&gt;");
} else if (character == '\"') {
result.append("&quot;");
} else if (character == '\'') {
result.append("&#039;");
} else {
// the char is not a special one
// add it to the result as it is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getEid() {
return eid;
}
public void setEid(String eid) {
this.eid = eid;
}
public String getRegistrar() {
return registrar;
}
public void setRegistrar(String registrar) {
this.registrar = registrar;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNameLocal() {
return nameLocal;
}
public void setNameLocal(String nameLocal) {
this.nameLocal = nameLocal;
}
public String getDob() {
return dob;
}
public void setDob(String dob) {
this.dob = dob;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getGuardianName() {
return guardianName;
}
public void setGuardianName(String guardianName) {
this.guardianName = guardianName;
}
public String getGuardianNameLocal() {
return guardianNameLocal;
}
public void setGuardianNameLocal(String guardianNameLocal) {
this.guardianNameLocal = guardianNameLocal;
}
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
public String getEmailId() {
return emailId;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
public String getLangCode() {
return langCode;
}
public void setLangCode(String langCode) {
this.langCode = langCode;
}
public String getBioFlag() {
return bioFlag;
}
public void setBioFlag(String bioFlag) {
this.bioFlag = bioFlag;
}
public String getUidDate() {
return uidDate;
}
public void setUidDate(String uidDate) {
this.uidDate = uidDate;
}
public String getCareOf() {
return careOf;
}
public void setCareOf(String careOf) {
this.careOf = careOf;
}
public String getCareOfLocal() {
return careOfLocal;
}
public void setCareOfLocal(String careOfLocal) {
this.careOfLocal = careOfLocal;
}
public String getBuilding() {
return building;
}
public void setBuilding(String building) {
this.building = building;
}
public String getBuildingLocal() {
return buildingLocal;
}
public void setBuildingLocal(String buildingLocal) {
this.buildingLocal = buildingLocal;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getStreetLocal() {
return streetLocal;
}
public void setStreetLocal(String streetLocal) {
this.streetLocal = streetLocal;
}
public String getLandmark() {
return landmark;
}
public void setLandmark(String landmark) {
this.landmark = landmark;
}
public String getLandmarkLocal() {
return landmarkLocal;
}
public void setLandmarkLocal(String landmarkLocal) {
this.landmarkLocal = landmarkLocal;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public String getLocalityLocal() {
return localityLocal;
}
public void setLocalityLocal(String localityLocal) {
this.localityLocal = localityLocal;
}
public String getVtc() {
return vtc;
}
public void setVtc(String vtc) {
this.vtc = vtc;
}
public String getVtcLocal() {
return vtcLocal;
}
public void setVtcLocal(String vtcLocal) {
this.vtcLocal = vtcLocal;
}
public String getPoName() {
return poName;
}
public void setPoName(String poName) {
this.poName = res_addr_po_name;
}
public String getPoNameLocal() {
return poNameLocal;
}
public void setPoNameLocal(String poNameLocal) {
this.poNameLocal = res_addr_po_name_local;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getDistrictLocal() {
return districtLocal;
}
public void setDistrictLocal(String districtLocal) {
this.districtLocal = districtLocal;
}
public String getStateCode() {
return stateCode;
}
public void setStateCode(String stateCode) {
this.stateCode = stateCode;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getStateLocal() {
return stateLocal;
}
public void setStateLocal(String stateLocal) {
this.stateLocal = stateLocal;
}
public String getPincode() {
return pincode;
}
public void setPincode(String pincode) {
this.pincode = pincode;
}
public String getRes_guardian_reltn_type() {
return res_guardian_reltn_type;
}
public void setRes_guardian_reltn_type(String res_guardian_reltn_type) {
this.res_guardian_reltn_type = res_guardian_reltn_type;
}
public String getBnk_shre_cnsnt() {
return bnk_shre_cnsnt;
}
public void setBnk_shre_cnsnt(String bnk_shre_cnsnt) {
this.bnk_shre_cnsnt = bnk_shre_cnsnt;
}
public String getInfo_shre_cnsnt() {
return info_shre_cnsnt;
}
public void setInfo_shre_cnsnt(String info_shre_cnsnt) {
this.info_shre_cnsnt = info_shre_cnsnt;
}
public String getPoi() {
return poi;
}
public void setPoi(String poi) {
this.poi = poi;
}
public String getPoa() {
return poa;
}
public void setPoa(String poa) {
this.poa = poa;
}
public String getRes_addr_subdistrict_name() {
return res_addr_subdistrict_name;
}
public void setRes_addr_subdistrict_name(String res_addr_subdistrict_name) {
this.res_addr_subdistrict_name = res_addr_subdistrict_name;
}
public String getRes_addr_subdistrict_name_local() {
return res_addr_subdistrict_name_local;
}
public void setRes_addr_subdistrict_name_local(
String res_addr_subdistrict_name_local) {
this.res_addr_subdistrict_name_local = res_addr_subdistrict_name_local;
}
/*public String getRes_addr_po_name() {
return res_addr_po_name;
}
public void setRes_addr_po_name(String res_addr_po_name) {
this.res_addr_po_name = res_addr_po_name;
}
public String getRes_addr_po_name_local() {
return res_addr_po_name_local;
}
public void setRes_addr_po_name_local(String res_addr_po_name_local) {
this.res_addr_po_name_local = res_addr_po_name_local;
}*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment