Back to project page AndroidShoppingList.
The source code is released under:
Apache License
If you think the Android project AndroidShoppingList listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** * Copyright 2012 C. A. Fitzgerald/*www . j ava 2s . c o m*/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.riotopsys.shoppinglist.model; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; import java.util.UUID; import android.content.Context; import android.content.Intent; import com.github.riotopsys.shoppinglist.server.work.Operations; import com.github.riotopsys.shoppinglist.server.work.WorkQueue; import com.j256.ormlite.android.apptools.OpenHelperManager; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "ShoppingLists") public class ShoppingList extends PersistedRecord { @DatabaseField() private String name; public ShoppingList() {} public ShoppingList(Intent intent) { guid = UUID.fromString(intent.getStringExtra("guid")); timestamp = Long.valueOf(intent.getStringExtra("timestamp")); name = intent.getStringExtra("name"); } public String getName() { return name; } public void setName(Context ctx, String name) { this.name = name; Work w = new Work(); w.target = getGuid(); w.operation = Operations.FIELD_UPDATE; w.field = "name"; w.data = name; WorkQueue.getInstance().offer(ctx, w); update(ctx); } public List<ShoppingListItem> getItems(Context ctx) { DatabaseHelper databaseHelper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class); Dao<ShoppingListItem, UUID> dao; try { dao = databaseHelper.getShoppingListItemDao(); List<ShoppingListItem> result = dao.queryBuilder().where().eq("parent", getGuid()).query(); if ( result == null ){ result = new LinkedList<ShoppingListItem>(); } return result; } catch (SQLException e) { throw new RuntimeException(e); } finally { OpenHelperManager.releaseHelper(); } } public ShoppingListItem createItem(Context ctx) { ShoppingListItem item = new ShoppingListItem(getGuid()); DatabaseHelper databaseHelper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class); try { databaseHelper.createOrUpdate(item); Work w = new Work(); w.target = item.getGuid(); w.operation = Operations.CREATE_ITEM; w.parent = item.getParent(); WorkQueue.getInstance().offer(ctx, w); } catch (SQLException e) { throw new RuntimeException(e); } finally { OpenHelperManager.releaseHelper(); } return item; } public void removeItem(Context ctx, ShoppingListItem item) { DatabaseHelper databaseHelper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class); try { databaseHelper.delete(item); Work w = new Work(); w.target = item.getGuid(); w.parent = getGuid(); w.operation = Operations.DELETE_ITEM; WorkQueue.getInstance().offer(ctx, w); } catch (SQLException e) { throw new RuntimeException(e); } finally { OpenHelperManager.releaseHelper(); } } @Override public void update(Context ctx) { DatabaseHelper helper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class); try { helper.getShoppingListDao().update(this); } catch (SQLException e) { throw new RuntimeException(e); } finally { OpenHelperManager.releaseHelper(); } } }