Search in sources :

Example 6 with Activity

use of org.activityinfo.server.database.hibernate.entity.Activity in project activityinfo by bedatadriven.

the class CreateLockedPeriodHandler method execute.

@Override
public CommandResult execute(CreateLockedPeriod cmd, User user) throws CommandException {
    Activity activity = null;
    UserDatabase database = null;
    Project project = null;
    LockedPeriod lockedPeriod = new LockedPeriod();
    LockedPeriodDTO lockedPeriodDTO = cmd.getLockedPeriod();
    lockedPeriod.setFromDate(lockedPeriodDTO.getFromDate().atMidnightInMyTimezone());
    lockedPeriod.setToDate(lockedPeriodDTO.getToDate().atMidnightInMyTimezone());
    lockedPeriod.setName(lockedPeriodDTO.getName());
    lockedPeriod.setEnabled(lockedPeriodDTO.isEnabled());
    int databaseId;
    if (cmd.getUserDatabseId() != 0) {
        database = em.find(UserDatabase.class, cmd.getUserDatabseId());
        lockedPeriod.setUserDatabase(database);
        databaseId = database.getId();
    } else if (cmd.getProjectId() != 0) {
        project = em.find(Project.class, cmd.getProjectId());
        lockedPeriod.setProject(project);
        databaseId = project.getUserDatabase().getId();
    } else if (cmd.getActivityId() != 0) {
        activity = em.find(Activity.class, cmd.getActivityId());
        lockedPeriod.setActivity(activity);
        databaseId = activity.getDatabase().getId();
    } else {
        throw new CommandException("One of the following must be provdied: userDatabaseId, projectId, activityId");
    }
    UserDatabase db = em.find(UserDatabase.class, databaseId);
    em.persist(lockedPeriod);
    db.setLastSchemaUpdate(new Date());
    em.persist(db);
    if (database != null) {
        database.getLockedPeriods().add(lockedPeriod);
    }
    if (project != null) {
        project.getLockedPeriods().add(lockedPeriod);
    }
    if (activity != null) {
        activity.getLockedPeriods().add(lockedPeriod);
    }
    return new CreateResult(lockedPeriod.getId());
}
Also used : Project(org.activityinfo.server.database.hibernate.entity.Project) CreateResult(org.activityinfo.shared.command.result.CreateResult) UserDatabase(org.activityinfo.server.database.hibernate.entity.UserDatabase) Activity(org.activityinfo.server.database.hibernate.entity.Activity) CommandException(org.activityinfo.shared.exception.CommandException) CreateLockedPeriod(org.activityinfo.shared.command.CreateLockedPeriod) LockedPeriod(org.activityinfo.server.database.hibernate.entity.LockedPeriod) Date(java.util.Date) LockedPeriodDTO(org.activityinfo.shared.dto.LockedPeriodDTO)

Example 7 with Activity

use of org.activityinfo.server.database.hibernate.entity.Activity in project activityinfo by bedatadriven.

the class UpdateEntityHandler method updateAttribute.

private void updateAttribute(User user, UpdateEntity cmd, Map<String, Object> changes) {
    Attribute attribute = entityManager().find(Attribute.class, cmd.getId());
    // TODO: decide where attributes belong and how to manage them
    // assertDesignPriviledges(user, attribute.get);
    updateAttributeProperties(changes, attribute);
    AttributeGroup ag = entityManager().find(AttributeGroup.class, attribute.getGroup().getId());
    // Assume only
    Activity activity = ag.getActivities().iterator().next();
    // one
    // activity
    // for the
    // attr group
    activity.getDatabase().setLastSchemaUpdate(new Date());
}
Also used : Attribute(org.activityinfo.server.database.hibernate.entity.Attribute) AttributeGroup(org.activityinfo.server.database.hibernate.entity.AttributeGroup) Activity(org.activityinfo.server.database.hibernate.entity.Activity) Date(java.util.Date)

Example 8 with Activity

use of org.activityinfo.server.database.hibernate.entity.Activity in project activityinfo by bedatadriven.

the class ActivityPolicy method update.

@Override
public void update(User user, Object entityId, PropertyMap changes) {
    Activity activity = em.find(Activity.class, entityId);
    assertDesignPrivileges(user, activity.getDatabase());
    applyProperties(activity, changes);
}
Also used : Activity(org.activityinfo.server.database.hibernate.entity.Activity)

Example 9 with Activity

use of org.activityinfo.server.database.hibernate.entity.Activity in project activityinfo by bedatadriven.

the class ActivityPolicy method create.

@Override
public Object create(User user, PropertyMap properties) {
    UserDatabase database = getDatabase(properties);
    assertDesignPrivileges(user, database);
    // create the entity
    Activity activity = new Activity();
    activity.setDatabase(database);
    activity.setSortOrder(calculateNextSortOrderIndex(database.getId()));
    activity.setLocationType(getLocationType(properties));
    applyProperties(activity, properties);
    activityDAO.persist(activity);
    return activity.getId();
}
Also used : UserDatabase(org.activityinfo.server.database.hibernate.entity.UserDatabase) Activity(org.activityinfo.server.database.hibernate.entity.Activity)

Example 10 with Activity

use of org.activityinfo.server.database.hibernate.entity.Activity in project activityinfo by bedatadriven.

the class SchemaUpdateBuilder method makeEntityLists.

private void makeEntityLists() {
    for (UserDatabase database : databases) {
        if (!userIds.contains(database.getOwner().getId())) {
            User u = database.getOwner();
            // don't send hashed password to client
            // EEK i think hibernate will persist this to the database
            // automatically if we change it here!!
            // u.setHashedPassword("");
            users.add(u);
            userIds.add(u.getId());
        }
        if (!countryIds.contains(database.getCountry().getId())) {
            countries.add(database.getCountry());
            adminLevels.addAll(database.getCountry().getAdminLevels());
            countryIds.add(database.getCountry().getId());
            for (org.activityinfo.server.database.hibernate.entity.LocationType l : database.getCountry().getLocationTypes()) {
                locationTypes.add(l);
            }
        }
        for (Partner partner : database.getPartners()) {
            if (!partnerIds.contains(partner.getId())) {
                partners.add(partner);
                partnerIds.add(partner.getId());
            }
        }
        projects.addAll(new ArrayList<Project>(database.getProjects()));
        allLockedPeriods.addAll(database.getLockedPeriods());
        for (Project project : database.getProjects()) {
            allLockedPeriods.addAll(project.getLockedPeriods());
        }
        for (Activity activity : database.getActivities()) {
            allLockedPeriods.addAll(activity.getLockedPeriods());
            activities.add(activity);
            for (Indicator indicator : activity.getIndicators()) {
                indicators.add(indicator);
                List<IndicatorLinkEntity> links = findIndicatorLinks(indicator);
                if (links != null && !links.isEmpty()) {
                    indicatorLinks.addAll(links);
                }
            }
            for (AttributeGroup g : activity.getAttributeGroups()) {
                if (!attributeGroupIds.contains(g.getId())) {
                    attributeGroups.add(g);
                    attributeGroupIds.add(g.getId());
                    for (Attribute a : g.getAttributes()) {
                        attributes.add(a);
                    }
                }
            }
        }
    }
}
Also used : LocationType(org.activityinfo.server.database.hibernate.entity.LocationType) User(org.activityinfo.server.database.hibernate.entity.User) Attribute(org.activityinfo.server.database.hibernate.entity.Attribute) UserDatabase(org.activityinfo.server.database.hibernate.entity.UserDatabase) AttributeGroup(org.activityinfo.server.database.hibernate.entity.AttributeGroup) Activity(org.activityinfo.server.database.hibernate.entity.Activity) Indicator(org.activityinfo.server.database.hibernate.entity.Indicator) Project(org.activityinfo.server.database.hibernate.entity.Project) Partner(org.activityinfo.server.database.hibernate.entity.Partner) IndicatorLinkEntity(org.activityinfo.server.database.hibernate.entity.IndicatorLinkEntity)

Aggregations

Activity (org.activityinfo.server.database.hibernate.entity.Activity)10 Date (java.util.Date)6 AttributeGroup (org.activityinfo.server.database.hibernate.entity.AttributeGroup)6 UserDatabase (org.activityinfo.server.database.hibernate.entity.UserDatabase)4 CreateResult (org.activityinfo.shared.command.result.CreateResult)4 Attribute (org.activityinfo.server.database.hibernate.entity.Attribute)3 Indicator (org.activityinfo.server.database.hibernate.entity.Indicator)2 Project (org.activityinfo.server.database.hibernate.entity.Project)2 IndicatorLinkEntity (org.activityinfo.server.database.hibernate.entity.IndicatorLinkEntity)1 LocationType (org.activityinfo.server.database.hibernate.entity.LocationType)1 LockedPeriod (org.activityinfo.server.database.hibernate.entity.LockedPeriod)1 Partner (org.activityinfo.server.database.hibernate.entity.Partner)1 User (org.activityinfo.server.database.hibernate.entity.User)1 CreateLockedPeriod (org.activityinfo.shared.command.CreateLockedPeriod)1 LockedPeriodDTO (org.activityinfo.shared.dto.LockedPeriodDTO)1 CommandException (org.activityinfo.shared.exception.CommandException)1