package com.darkrockstudios.apps.tminus.launchlibrary;
import com.darkrockstudios.apps.tminus.database.DatabaseHelper;
import com.darkrockstudios.apps.tminus.database.tables.AgencyRocket;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.stmt.QueryBuilder;
import com.j256.ormlite.table.DatabaseTable;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Adam on 6/23/13.
* Dark Rock Studios
* darkrockstudios.com
*/
@DatabaseTable(tableName = Rocket.TABLE_NAME)
public class Rocket implements Serializable
{
public transient static final String TABLE_NAME = "Rocket";
@DatabaseField(id = true)
public int id;
@DatabaseField
public String name;
@DatabaseField
public String wikiURL;
@DatabaseField
public String infoURL;
@DatabaseField
public String configuration;
@DatabaseField(foreign = true, foreignAutoCreate = true, foreignAutoRefresh = true)
public RocketFamily family;
public void refreshFamily( final DatabaseHelper databaseHelper )
{
if( family != null )
{
family.agencies = new ArrayList<>();
try
{
Dao<AgencyRocket, Integer> agencyRocketDao = databaseHelper.getDao( AgencyRocket.class );
QueryBuilder<AgencyRocket, Integer> builder = agencyRocketDao.queryBuilder();
builder.where().eq( "RocketFamily_id", family.id );
List<AgencyRocket> agencyProperties = builder.query();
for( final AgencyRocket agencyRocket : agencyProperties )
{
family.agencies.add( agencyRocket.agency );
}
}
catch( SQLException e )
{
e.printStackTrace();
}
}
}
}