Subversion Repositories bacoAlunos

Rev

Rev 1945 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.domain;

import com.owlike.genson.Genson;
import com.owlike.genson.GensonBuilder;
import jomm.dao.impl.AbstractDao;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.dao.DaoFactory;

import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

/**
 * Created by jorgemachado on 13/04/17.
 */

public class ConfigurationSeparatorImpl extends ConfigurationSeparator {

    @1.5.0/docs/api/java/lang/Override.html">Override
    public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable()
    {
        return getId();
    }




    public ArrayList<Long> getSchoolsIds()
    {
        ArrayList<Long> schoolsIds = new ArrayList<Long>();
        for(CourseSchool school: getSchools())
            schoolsIds.add(school.getId());
        return schoolsIds;
    }

    public void setSchoolsIds(ArrayList<Long> ids)
    {
        setSchools(new HashSet<CourseSchool>());
        for(1.5.0/docs/api/java/lang/Long.html">Long id: ids)
        {
            CourseSchool school = new CourseSchoolImpl();
            school.setId(id);
            getSchools().add(school);
        }
    }

    public ArrayList<String> getAllowedRoles()
    {
        ArrayList<String> roles = new ArrayList<String>();
        if(getSchools() != null)
        {
            for(CourseSchool sc : getSchools())
            {
                if(isShowStudents())
                    roles.add(sc.getStudentRole());
                if(isShowTeachers())
                    roles.add(sc.getTeacherRole());
                if(isShowWorkers())
                    roles.add(sc.getFuncionarioRole());
            }
        }
        return roles;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getSeparatorKey()
    {
        return "ConfigSeparator" + getId();
    }

    static Genson confGenson = new GensonBuilder()
            .exclude(5+0%2Fdocs%2Fapi+Object">Object.class)
            .useRuntimeType(true)
            .useMethods(true)
            .useFields(false)
            .useClassMetadata(true)
            .include(ConfigurationSeparator.class)
            .include(ConfigurationSeparatorImpl.class)
            .include("id", ConfigurationSeparator.class)
            .include("name", ConfigurationSeparator.class)
            .include("nameEn",ConfigurationSeparator.class)
            .include("nameEs",ConfigurationSeparator.class)
            .include("nameFr", ConfigurationSeparator.class)
            .include("description", ConfigurationSeparator.class)

            .include("active", ConfigurationSeparator.class)
            .include("position", ConfigurationSeparator.class)

            .include("showInBaco", ConfigurationSeparator.class)
            .include("showInPae", ConfigurationSeparator.class)

            .include("showStudents", ConfigurationSeparator.class)
            .include("showTeachers", ConfigurationSeparator.class)
            .include("showWorkers", ConfigurationSeparator.class)

             //Evita fazer o parse a todas as escolas, o set Ids vai colocar escolas na classe só com id
            .include("schoolsIds", ConfigurationSeparatorImpl.class)
            .include("pageSection", ConfigurationSeparator.class)
            .include("id", PageContent.class)
            .include("path", PageContent.class)
            .include("slug", PageContent.class)
            .create();

    public 1.5.0/docs/api/java/lang/String.html">String toJson() {
        return confGenson.serialize(this);
    }

    public static 1.5.0/docs/api/java/lang/String.html">String toJson(List<ConfigurationSeparator> seps) throws 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        return confGenson.serialize(seps);
    }

    public static ConfigurationSeparatorImpl loadFromJson(1.5.0/docs/api/java/lang/String.html">String json) throws 1.5.0/docs/api/java/io/IOException.html">IOException {
        return confGenson.deserialize(json, ConfigurationSeparatorImpl.class);
    }

    public JSONObject toJsonObject() throws JSONException {
        return new JSONObject(toJson());
    }

    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws 1.5.0/docs/api/java/io/IOException.html">IOException {

        AbstractDao.getCurrentSession().beginTransaction();
        List<ConfigurationSeparator> seps = DaoFactory.getConfigurationSeparatorDaoImpl().findAll();

        /*List<ConfigurationSeparatorImpl> seps2 = new ArrayList<ConfigurationSeparatorImpl>();
        for(ConfigurationSeparator s : seps)
        {
            seps2.add((ConfigurationSeparatorImpl) s);

        }*/

        1.5.0/docs/api/java/lang/String.html">String jsonArraySeps = ConfigurationSeparatorImpl.toJson(seps);

        1.5.0/docs/api/java/lang/System.html">System.out.println(jsonArraySeps);



        AbstractDao.getCurrentSession().getTransaction().commit();


    }
}