Program: 8374
Project: 8374
Buggy source:
/** 
 * {@inheritDoc}
 */
@SuppressWarnings("String_Node_Str") @Override public Cursor query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sortOrder){
  Log.v(Constants.TAG,"String_Node_Str" + uri + "String_Node_Str"+ Arrays.toString(projection)+ "String_Node_Str");
  SQLiteQueryBuilder qb=new SQLiteQueryBuilder();
  SQLiteDatabase db=mApgDatabase.getReadableDatabase();
  int match=mUriMatcher.match(uri);
  String groupBy=null, having=null;
  boolean all=false;
switch (match) {
case UNIFIED_KEY_RING:
    qb=buildKeyRingQuery(qb,match);
  groupBy=Tables.KEY_RINGS + "String_Node_Str" + KeyRingsColumns.MASTER_KEY_ID;
if (TextUtils.isEmpty(sortOrder)) {
  sortOrder=KeyRings.TYPE + "String_Node_Str" + Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING:
case SECRET_KEY_RING:
qb=buildKeyRingQuery(qb,match);
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING_BY_ROW_ID:
case SECRET_KEY_RING_BY_ROW_ID:
qb=buildKeyRingQuery(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEY_RINGS + "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING_BY_MASTER_KEY_ID:
case SECRET_KEY_RING_BY_MASTER_KEY_ID:
qb=buildKeyRingQuery(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEY_RINGS + "String_Node_Str"+ KeyRingsColumns.MASTER_KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case SECRET_KEY_RING_BY_KEY_ID:
case PUBLIC_KEY_RING_BY_KEY_ID:
qb=buildKeyRingQueryWithSpecificKey(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEYS + "String_Node_Str"+ KeysColumns.KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case SECRET_KEY_RING_BY_EMAILS:
case PUBLIC_KEY_RING_BY_EMAILS:
qb=buildKeyRingQuery(qb,match);
String emails=uri.getLastPathSegment();
String chunks[]=emails.split("String_Node_Str");
boolean gotCondition=false;
String emailWhere="String_Node_Str";
for (int i=0; i < chunks.length; ++i) {
if (chunks[i].length() == 0) {
continue;
}
if (i != 0) {
emailWhere+="String_Node_Str";
}
emailWhere+="String_Node_Str" + UserIdsColumns.USER_ID + "String_Node_Str";
emailWhere+=DatabaseUtils.sqlEscapeString("String_Node_Str" + chunks[i] + "String_Node_Str");
gotCondition=true;
}
if (gotCondition) {
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ emailWhere+ "String_Node_Str");
}
break;
case SECRET_KEY_RING_BY_LIKE_EMAIL:
case PUBLIC_KEY_RING_BY_LIKE_EMAIL:
qb=buildKeyRingQuery(qb,match);
String likeEmail=uri.getLastPathSegment();
String likeEmailWhere="String_Node_Str" + UserIdsColumns.USER_ID + "String_Node_Str"+ DatabaseUtils.sqlEscapeString("String_Node_Str" + likeEmail + "String_Node_Str");
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ likeEmailWhere+ "String_Node_Str");
break;
case PUBLIC_KEY_RING_KEY:
case SECRET_KEY_RING_KEY:
qb.setTables(Tables.KEYS);
qb.appendWhere(KeysColumns.TYPE + "String_Node_Str");
qb.appendWhereEscapeString(Integer.toString(getKeyType(match)));
qb.appendWhere("String_Node_Str" + KeysColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.setProjectionMap(getProjectionMapForKeys());
break;
case PUBLIC_KEY_RING_KEY_BY_ROW_ID:
case SECRET_KEY_RING_KEY_BY_ROW_ID:
qb.setTables(Tables.KEYS);
qb.appendWhere(KeysColumns.TYPE + "String_Node_Str");
qb.appendWhereEscapeString(Integer.toString(getKeyType(match)));
qb.appendWhere("String_Node_Str" + KeysColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
qb.setProjectionMap(getProjectionMapForKeys());
break;
case PUBLIC_KEY_RING_BY_MASTER_KEY_ID_USER_ID:
qb.setTables(Tables.USER_IDS + "String_Node_Str" + Tables.KEY_RINGS+ "String_Node_Str"+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ KeysColumns.KEY_RING_ROW_ID+ "String_Node_Str");
qb.appendWhere(Tables.KEY_RINGS + "String_Node_Str" + KeyRingsColumns.MASTER_KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(3));
qb.setProjectionMap(getProjectionMapForUserIds());
break;
case PUBLIC_KEY_RING_USER_ID:
case SECRET_KEY_RING_USER_ID:
qb.setTables(Tables.USER_IDS + "String_Node_Str" + Tables.CERTS+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.RANK+ "String_Node_Str");
groupBy=Tables.USER_IDS + "String_Node_Str" + UserIds.RANK;
HashMap<String,String> pmap=new HashMap<String,String>();
pmap.put(UserIds._ID,Tables.USER_IDS + "String_Node_Str" + UserIds._ID);
pmap.put(UserIds.USER_ID,Tables.USER_IDS + "String_Node_Str" + UserIds.USER_ID);
pmap.put(UserIds.RANK,Tables.USER_IDS + "String_Node_Str" + UserIds.RANK);
pmap.put("String_Node_Str","String_Node_Str" + Tables.CERTS + "String_Node_Str"+ Certs._ID+ "String_Node_Str");
qb.setProjectionMap(pmap);
qb.appendWhere(Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
break;
case PUBLIC_KEY_RING_USER_ID_BY_ROW_ID:
case SECRET_KEY_RING_USER_ID_BY_ROW_ID:
qb.setTables(Tables.USER_IDS);
qb.appendWhere(UserIdsColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
break;
case CERTS_BY_ROW_ID:
case CERTS_BY_KEY_ROW_ID_ALL:
all=true;
case CERTS_BY_KEY_ROW_ID:
qb.setTables(Tables.CERTS + "String_Node_Str" + Tables.USER_IDS+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.RANK+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ (all ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_ID_CERTIFIER+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.KEY_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.KEY_RING_ROW_ID+ "String_Node_Str"+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ "String_Node_Str"+ Keys.RANK+ "String_Node_Str"+ "String_Node_Str");
HashMap<String,String> pmap2=new HashMap<String,String>();
pmap2.put(Certs._ID,Tables.CERTS + "String_Node_Str" + Certs._ID);
pmap2.put(Certs.KEY_ID,Tables.CERTS + "String_Node_Str" + Certs.KEY_ID);
pmap2.put(Certs.RANK,Tables.CERTS + "String_Node_Str" + Certs.RANK);
pmap2.put(Certs.CREATION,Tables.CERTS + "String_Node_Str" + Certs.CREATION);
pmap2.put(Certs.KEY_ID_CERTIFIER,Tables.CERTS + "String_Node_Str" + Certs.KEY_ID_CERTIFIER);
pmap2.put(Certs.KEY_DATA,Tables.CERTS + "String_Node_Str" + Certs.KEY_DATA);
pmap2.put(Certs.VERIFIED,Tables.CERTS + "String_Node_Str" + Certs.VERIFIED);
pmap2.put(UserIds.USER_ID,Tables.USER_IDS + "String_Node_Str" + UserIds.USER_ID);
pmap2.put("String_Node_Str","String_Node_Str" + UserIds.USER_ID + "String_Node_Str");
qb.setProjectionMap(pmap2);
if (match == CERTS_BY_ROW_ID) {
qb.appendWhere(Tables.CERTS + "String_Node_Str" + Certs._ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(1));
}
 else {
qb.appendWhere(Tables.CERTS + "String_Node_Str" + Certs.KEY_RING_ROW_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
}
break;
case API_APPS:
qb.setTables(Tables.API_APPS);
break;
case API_APPS_BY_ROW_ID:
qb.setTables(Tables.API_APPS);
qb.appendWhere(BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
break;
case API_APPS_BY_PACKAGE_NAME:
qb.setTables(Tables.API_APPS);
qb.appendWhere(ApiApps.PACKAGE_NAME + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
String orderBy;
if (TextUtils.isEmpty(sortOrder)) {
orderBy=null;
}
 else {
orderBy=sortOrder;
}
Cursor c=qb.query(db,projection,selection,selectionArgs,groupBy,having,orderBy);
c.setNotificationUri(getContext().getContentResolver(),uri);
if (Constants.DEBUG) {
Log.d(Constants.TAG,"String_Node_Str" + qb.buildQuery(projection,selection,selectionArgs,null,null,orderBy,null));
Log.d(Constants.TAG,"String_Node_Str" + DatabaseUtils.dumpCursorToString(c));
}
return c;
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
@SuppressWarnings("String_Node_Str") @Override public Cursor query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sortOrder){
  Log.v(Constants.TAG,"String_Node_Str" + uri + "String_Node_Str"+ Arrays.toString(projection)+ "String_Node_Str");
  SQLiteQueryBuilder qb=new SQLiteQueryBuilder();
  SQLiteDatabase db=mApgDatabase.getReadableDatabase();
  int match=mUriMatcher.match(uri);
  String groupBy=null, having=null;
  boolean all=false;
switch (match) {
case UNIFIED_KEY_RING:
    qb=buildKeyRingQuery(qb,match);
  groupBy=Tables.KEY_RINGS + "String_Node_Str" + KeyRingsColumns.MASTER_KEY_ID;
if (TextUtils.isEmpty(sortOrder)) {
  sortOrder=KeyRings.TYPE + "String_Node_Str" + Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING:
case SECRET_KEY_RING:
qb=buildKeyRingQuery(qb,match);
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING_BY_ROW_ID:
case SECRET_KEY_RING_BY_ROW_ID:
qb=buildKeyRingQuery(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEY_RINGS + "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case PUBLIC_KEY_RING_BY_MASTER_KEY_ID:
case SECRET_KEY_RING_BY_MASTER_KEY_ID:
qb=buildKeyRingQuery(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEY_RINGS + "String_Node_Str"+ KeyRingsColumns.MASTER_KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case SECRET_KEY_RING_BY_KEY_ID:
case PUBLIC_KEY_RING_BY_KEY_ID:
qb=buildKeyRingQueryWithSpecificKey(qb,match);
qb.appendWhere("String_Node_Str" + Tables.KEYS + "String_Node_Str"+ KeysColumns.KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
if (TextUtils.isEmpty(sortOrder)) {
sortOrder=Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.USER_ID+ "String_Node_Str";
}
break;
case SECRET_KEY_RING_BY_EMAILS:
case PUBLIC_KEY_RING_BY_EMAILS:
qb=buildKeyRingQuery(qb,match);
String emails=uri.getLastPathSegment();
String chunks[]=emails.split("String_Node_Str");
boolean gotCondition=false;
String emailWhere="String_Node_Str";
for (int i=0; i < chunks.length; ++i) {
if (chunks[i].length() == 0) {
continue;
}
if (i != 0) {
emailWhere+="String_Node_Str";
}
emailWhere+="String_Node_Str" + UserIdsColumns.USER_ID + "String_Node_Str";
emailWhere+=DatabaseUtils.sqlEscapeString("String_Node_Str" + chunks[i] + "String_Node_Str");
gotCondition=true;
}
if (gotCondition) {
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ emailWhere+ "String_Node_Str");
}
break;
case SECRET_KEY_RING_BY_LIKE_EMAIL:
case PUBLIC_KEY_RING_BY_LIKE_EMAIL:
qb=buildKeyRingQuery(qb,match);
String likeEmail=uri.getLastPathSegment();
String likeEmailWhere="String_Node_Str" + UserIdsColumns.USER_ID + "String_Node_Str"+ DatabaseUtils.sqlEscapeString("String_Node_Str" + likeEmail + "String_Node_Str");
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ likeEmailWhere+ "String_Node_Str");
break;
case PUBLIC_KEY_RING_KEY:
case SECRET_KEY_RING_KEY:
qb.setTables(Tables.KEYS);
qb.appendWhere(KeysColumns.TYPE + "String_Node_Str");
qb.appendWhereEscapeString(Integer.toString(getKeyType(match)));
qb.appendWhere("String_Node_Str" + KeysColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.setProjectionMap(getProjectionMapForKeys());
break;
case PUBLIC_KEY_RING_KEY_BY_ROW_ID:
case SECRET_KEY_RING_KEY_BY_ROW_ID:
qb.setTables(Tables.KEYS);
qb.appendWhere(KeysColumns.TYPE + "String_Node_Str");
qb.appendWhereEscapeString(Integer.toString(getKeyType(match)));
qb.appendWhere("String_Node_Str" + KeysColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
qb.setProjectionMap(getProjectionMapForKeys());
break;
case PUBLIC_KEY_RING_BY_MASTER_KEY_ID_USER_ID:
case PUBLIC_KEY_RING_USER_ID:
case SECRET_KEY_RING_USER_ID:
qb.setTables(Tables.USER_IDS + "String_Node_Str" + Tables.KEY_RINGS+ "String_Node_Str"+ Tables.KEY_RINGS+ "String_Node_Str"+ BaseColumns._ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ KeysColumns.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.RANK+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.KEY_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_ID_CERTIFIER+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.TYPE+ "String_Node_Str"+ KeyTypes.SECRET+ "String_Node_Str");
groupBy=Tables.USER_IDS + "String_Node_Str" + UserIds.RANK;
qb.setProjectionMap(getProjectionMapForUserIds());
if (match == PUBLIC_KEY_RING_BY_MASTER_KEY_ID_USER_ID) {
qb.appendWhere(Tables.KEY_RINGS + "String_Node_Str" + KeyRingsColumns.MASTER_KEY_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(3));
}
 else {
qb.appendWhere(Tables.USER_IDS + "String_Node_Str" + UserIdsColumns.KEY_RING_ROW_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
}
break;
case PUBLIC_KEY_RING_USER_ID_BY_ROW_ID:
case SECRET_KEY_RING_USER_ID_BY_ROW_ID:
qb.setTables(Tables.USER_IDS);
qb.appendWhere(UserIdsColumns.KEY_RING_ROW_ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
qb.appendWhere("String_Node_Str" + BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
break;
case CERTS_BY_ROW_ID:
case CERTS_BY_KEY_ROW_ID_ALL:
all=true;
case CERTS_BY_KEY_ROW_ID:
qb.setTables(Tables.CERTS + "String_Node_Str" + Tables.USER_IDS+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.RANK+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ UserIds.RANK+ "String_Node_Str"+ (all ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_ID_CERTIFIER+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.KEY_ID+ "String_Node_Str"+ Tables.USER_IDS+ "String_Node_Str"+ Tables.KEYS+ "String_Node_Str"+ Keys.KEY_RING_ROW_ID+ "String_Node_Str"+ "String_Node_Str"+ UserIds.KEY_RING_ROW_ID+ "String_Node_Str"+ "String_Node_Str"+ Keys.RANK+ "String_Node_Str"+ "String_Node_Str");
groupBy=Tables.CERTS + "String_Node_Str" + Certs.RANK+ "String_Node_Str"+ Tables.CERTS+ "String_Node_Str"+ Certs.KEY_ID_CERTIFIER;
HashMap<String,String> pmap2=new HashMap<String,String>();
pmap2.put(Certs._ID,Tables.CERTS + "String_Node_Str" + Certs._ID);
pmap2.put(Certs.KEY_ID,Tables.CERTS + "String_Node_Str" + Certs.KEY_ID);
pmap2.put(Certs.RANK,Tables.CERTS + "String_Node_Str" + Certs.RANK);
pmap2.put(Certs.CREATION,Tables.CERTS + "String_Node_Str" + Certs.CREATION);
pmap2.put(Certs.KEY_ID_CERTIFIER,Tables.CERTS + "String_Node_Str" + Certs.KEY_ID_CERTIFIER);
pmap2.put(Certs.KEY_DATA,Tables.CERTS + "String_Node_Str" + Certs.KEY_DATA);
pmap2.put(Certs.VERIFIED,Tables.CERTS + "String_Node_Str" + Certs.VERIFIED);
pmap2.put(UserIds.USER_ID,Tables.USER_IDS + "String_Node_Str" + UserIds.USER_ID);
pmap2.put("String_Node_Str","String_Node_Str" + UserIds.USER_ID + "String_Node_Str");
qb.setProjectionMap(pmap2);
if (match == CERTS_BY_ROW_ID) {
qb.appendWhere(Tables.CERTS + "String_Node_Str" + Certs._ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(1));
}
 else {
qb.appendWhere(Tables.CERTS + "String_Node_Str" + Certs.KEY_RING_ROW_ID+ "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
}
break;
case API_APPS:
qb.setTables(Tables.API_APPS);
break;
case API_APPS_BY_ROW_ID:
qb.setTables(Tables.API_APPS);
qb.appendWhere(BaseColumns._ID + "String_Node_Str");
qb.appendWhereEscapeString(uri.getLastPathSegment());
break;
case API_APPS_BY_PACKAGE_NAME:
qb.setTables(Tables.API_APPS);
qb.appendWhere(ApiApps.PACKAGE_NAME + "String_Node_Str");
qb.appendWhereEscapeString(uri.getPathSegments().get(2));
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
String orderBy;
if (TextUtils.isEmpty(sortOrder)) {
orderBy=null;
}
 else {
orderBy=sortOrder;
}
Cursor c=qb.query(db,projection,selection,selectionArgs,groupBy,having,orderBy);
c.setNotificationUri(getContext().getContentResolver(),uri);
if (Constants.DEBUG) {
Log.d(Constants.TAG,"String_Node_Str" + qb.buildQuery(projection,selection,selectionArgs,null,null,orderBy,null));
Log.d(Constants.TAG,"String_Node_Str" + DatabaseUtils.dumpCursorToString(c));
}
return c;
}