Android Open Source - AndroidShoppingList Shopping List






From Project

Back to project page AndroidShoppingList.

License

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.

Java Source Code

/**
 * 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();
    }
  }

}




Java Source Code List

com.github.riotopsys.shoppinglist.AppKeys.java
com.github.riotopsys.shoppinglist.GCMIntentService.java
com.github.riotopsys.shoppinglist.IConfigurations.java
com.github.riotopsys.shoppinglist.activity.ListItemEdit.java
com.github.riotopsys.shoppinglist.activity.ShoppingListPreview.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListAdapter.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListCollectionAdapter.java
com.github.riotopsys.shoppinglist.comparator.ListItemNameComparator.java
com.github.riotopsys.shoppinglist.comparator.ListNameComparator.java
com.github.riotopsys.shoppinglist.fragment.ShoppingListFragment.java
com.github.riotopsys.shoppinglist.listener.CheckedChangeListener.java
com.github.riotopsys.shoppinglist.model.DatabaseHelper.java
com.github.riotopsys.shoppinglist.model.DigestRecord.java
com.github.riotopsys.shoppinglist.model.PersistedRecord.java
com.github.riotopsys.shoppinglist.model.ShoppingListCollection.java
com.github.riotopsys.shoppinglist.model.ShoppingListItem.java
com.github.riotopsys.shoppinglist.model.ShoppingList.java
com.github.riotopsys.shoppinglist.model.Work.java
com.github.riotopsys.shoppinglist.server.DigestCollection.java
com.github.riotopsys.shoppinglist.server.RestHelper.java
com.github.riotopsys.shoppinglist.server.RestResult.java
com.github.riotopsys.shoppinglist.server.ServerInterfaceService.java
com.github.riotopsys.shoppinglist.server.ServerTask.java
com.github.riotopsys.shoppinglist.server.UrlBuilder.java
com.github.riotopsys.shoppinglist.server.work.Operations.java
com.github.riotopsys.shoppinglist.server.work.WorkQueue.java
com.github.riotopsys.shoppinglist.utils.AccountUtils.java