/******************************************************************************* * Copyright 2011 Antti Havanko * * This file is part of Motiver.fi. * Motiver.fi is licensed under one open source license and one commercial license. * * Commercial license: This is the appropriate option if you want to use Motiver.fi in * commercial purposes. Contact license@motiver.fi for licensing options. * * Open source license: This is the appropriate option if you are creating an open source * application with a license compatible with the GNU GPL license v3. Although the GPLv3 has * many terms, the most important is that you must provide the source code of your application * to your users so they can be free to modify your application for their own needs. ******************************************************************************/ package com.delect.motiver.shared; import java.io.Serializable; import java.util.Date; import com.extjs.gxt.ui.client.data.BaseModelData; public class ExerciseModel extends BaseModelData implements Serializable, Comparable<ExerciseModel> { /** * */ private static final long serialVersionUID = -4465554L; public ExerciseModel() { } public ExerciseModel(ExerciseNameModel name) { setName(name); } public ExerciseModel(String name, int equipment, int sets, String reps) { setName(new ExerciseNameModel(0, name, equipment)); setSets(sets); setReps(reps); } public ExerciseModel(String name, int equipment, int sets, String reps, String weights) { setName(new ExerciseNameModel(0, name, equipment)); setSets(sets); setReps(reps); setWeights(weights); } @Override public int compareTo(ExerciseModel arg0) { try { //if compared value has no order set if(arg0.getOrder() == 1000 && this.getOrder() != 1000) { return 0; } //if this value has no order set else if(arg0.getOrder() != 1000 && this.getOrder() == 1000) { return 1; } //both order are null else if(arg0.getOrder() == 1000 && this.getOrder() == 1000) { return (arg0.getId() < this.getId())? 1 : 0; } else { return (arg0.getOrder() < this.getOrder())? 1 : 0; } } catch (Exception e) { } return 0; } //used only in lastweights-fetch public Date getDate() { return get("d"); } public long getId() { if(get("id") != null) { return get("id"); } else { return 0L; } } public String getInfo() { return get("i"); } public ExerciseNameModel getName() { return get("m"); } public int getOrder() { if(get("o") != null) { return get("o"); } else { return 1000; } } public String getReps() { if(get("r") != null) { return get("r"); } else { return ""; } } public String getRest() { if(get("re") != null) { return get("re"); } else { return ""; } } public int getSets() { if(get("s") != null) { return get("s"); } else { return 0; } } public String getTempo() { if(get("t") != null) { return get("t"); } else { return ""; } } // public String getUid() { // if(get("uid") != null) { // return get("uid"); // } // else { // return ""; // } // } public String getWeights() { if(get("w") != null) { return get("w"); } else { return ""; } } public long getWorkoutId() { if(get("wid") != null) { return get("wid"); } else { return 0L; } } public boolean isPersonalBest() { if(get("pb") != null) { return get("pb"); } else { return false; } } public WorkoutModel getWorkout() { return get("wo"); } public void setDate(Date date) { set("d", date); } public void setId(long id) { set("id", id); } public void setInfo(String info) { set("i", info); } public void setName(ExerciseNameModel name) { set("m", name); if(name != null) { set("n", name.getName()); //set so grid shows name } } public void setOrder(int o) { set("o", o); } public void setReps(String reps) { set("r", reps); } public void setRest(String rest) { set("re", rest); } public void setSets(int sets) { set("s", sets); } public void setTempo(String tempo) { set("t", tempo); } // public void setUid(String uid) { // set("uid", uid); // } public void setWeights(String weights) { set("w", weights); } public void setPersonalBest(boolean isPersonalBest) { set("pb", isPersonalBest); } public void setWorkoutId(long id) { set("wid", id); } public void setWorkout(WorkoutModel workout) { set("wo", workout); } @Override public String toString() { return "Exercise"+getOrder()+": [name: '"+((getName() != null)? getName().getName() : "")+"', "+getSets()+" x "+getReps()+" x "+getWeights()+"]"; } }