package org.openintents.wifiserver.requesthandler.shoppinglist; import static android.provider.BaseColumns._ID; import static org.openintents.shopping.library.provider.ShoppingContract.Lists.CONTENT_URI; import static org.openintents.shopping.library.provider.ShoppingContract.Lists.MODIFIED_DATE; import static org.openintents.shopping.library.provider.ShoppingContract.Lists.NAME; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.protocol.HttpContext; import org.openintents.wifiserver.util.URLUtil; import android.content.ContentValues; import android.content.Context; public class RenameShoppinglist extends ShoppinglistHandler { public RenameShoppinglist(Context context) { super(context); } @Override public void getResponse(HttpRequest request, HttpResponse response, HttpContext context) { if (!"GET".equals(request.getRequestLine().getMethod())) { response.setStatusCode(405); return; } String oldName = URLUtil.getParameter(request.getRequestLine().getUri(), "oldname"); String newName = URLUtil.getParameter(request.getRequestLine().getUri(), "newname"); String id = URLUtil.getParameter(request.getRequestLine().getUri(), "id"); if (newName == null || newName.equals("")) { response.setStatusCode(400); return; } if ((oldName == null && id == null) || (oldName != null && id != null)) { response.setStatusCode(400); return; } ContentValues values = new ContentValues(); values.put(MODIFIED_DATE, Long.valueOf(System.currentTimeMillis())); values.put(NAME, newName); String where; String[] selectionArgs; if (oldName != null) { where = NAME+" = ?"; selectionArgs = new String[] { oldName }; } else { where = _ID+" = ?"; selectionArgs = new String[] { id }; } if (0 == mContext.getContentResolver().update(CONTENT_URI, values, where, selectionArgs)) { response.setStatusCode(400); } } }