package models;
import java.util.ArrayList;
//@Property(Community.MEMBERSLIST)
//@JsonIgnore
//@JsonProperty(Community.MEMBERSLIST)
//@Embedded
@Entity(value = "community", noClassnameStored = true)
public class Community extends BaseModel {
public static final String TAG = Community.class.getSimpleName();
public static final String _ID = "_id";
public static final String TYPE = "tp" ;
public static Datastore ds = ds(Community.class);
@Id
private String _id = "" ;
@Property(Community.TYPE)
private int type = 0 ;
@Embedded
private ArrayList<CommunityMember> ml = new ArrayList<CommunityMember>();
public Community() {
}
public void setId(String id){
this._id = id ;
}
public String getId() {
return this._id ;
}
public void addMembers(CommunityMember m) {
this.ml.add(m) ;
}
public ArrayList<CommunityMember> getMembers() {
return this.ml ;
}
public ObjectNode Id2Json() {
ObjectNode on = Json.newObject() ;
on.put( Community._ID , this._id ) ;
return on ;
}
public static Community create(JsonNode json) {
Community comm = new Community();
CommunityMember cm = new CommunityMember();
String userid = json.findPath(Community._ID).asText() ;
String cid = userid +"_" + System.currentTimeMillis() ;
comm.setId( cid ) ;
cm.setId( userid );
cm.setRole( Role.OWNER ) ;
comm.addMembers( cm ) ;
ds.save(comm) ;
return comm;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
package models;
@Entity(noClassnameStored = true)
public class CommunityMember extends BaseModel{
public static final String TAG = CommunityMember.class.getSimpleName();
public static final String ROLE ="rl" ;
public static final String ID ="id" ;
@Property(CommunityMember.ROLE)
private int role = Role.NONE ;
@Property(CommunityMember.ID)
private String id = "" ;
public CommunityMember() {
}
public void setRole(int r) {
this.role = r ;
}
public int getRole() {
return this.role ;
}
}