Package in.partake.base

Examples of in.partake.base.PartakeException


    @Override
    protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
        event = daos.getEventAccess().find(con, eventId);
        if (event == null)
            throw new PartakeException(UserErrorCode.INVALID_EVENT_ID);
        if (!EventEditPermission.check(event, user))
            throw new PartakeException(UserErrorCode.FORBIDDEN_EVENT_EDIT);

        event = new Event(event);
        updateEvent(con, daos);

        event.setModifiedAt(TimeUtil.getCurrentDateTime());
View Full Code Here


    private void updateEvent(PartakeConnection con, IPartakeDAOs daos) throws PartakeException, DAOException {
        if (params.containsKey("title")) {
            String title = getString("title");
            if (StringUtils.isBlank(title) || title.length() > 100)
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "title", "タイトルは 100 文字以下で必ず入力してください。");
            else
                event.setTitle(title);
        }

        if (params.containsKey("summary")) {
            String summary = getString("summary");
            if (summary != null && summary.length() > 100)
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "summary", "概要は 100 文字以下で入力してください。");
            else
                event.setSummary(summary);
        }

        if (params.containsKey("category")) {
            String category = getString("category");
            if (category == null || !EventCategory.isValidCategoryName(category))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "category", "カテゴリーは正しいものを必ず入力してください。");
            else
                event.setCategory(category);
        }

        if (params.containsKey("beginDate")) {
            DateTime beginDate = getDateTime("beginDate");
            if (beginDate == null)
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "beginDate", "開始日時は必ず入力してください。");

            Calendar beginCalendar = TimeUtil.calendar(beginDate.toDate());
            if (beginCalendar.get(Calendar.YEAR) < 2000 || 2100 < beginCalendar.get(Calendar.YEAR))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "beginDate", "開始日時の範囲が不正です。");
            else
                event.setBeginDate(beginDate);

            json.put("eventDuration", Helper.readableDuration(event.getBeginDate(), event.getEndDate()));
        }

        // TODO: What happend if beginDate is set after endDate is set and endDate <= beginDate. It should be an error.
        if (params.containsKey("endDate")) {
            String endDateStr = getString("endDate");
            if (StringUtils.isBlank(endDateStr))
                event.setEndDate(null);
            else {
                DateTime endDate = TimeUtil.parseForEvent(endDateStr);
                if (endDate == null)
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "endDate", "終了日時が不正です。");
                else {
                    Calendar endCalendar = TimeUtil.calendar(endDate.toDate());
                    if (endCalendar.get(Calendar.YEAR) < 2000 || 2100 < endCalendar.get(Calendar.YEAR))
                        throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "endDate", "終了日時の範囲が不正です。");
                    else if (event.getBeginDate() != null && endDate.isBefore(event.getBeginDate()))
                        throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "endDate", "終了日時が開始日時より前になっています。");
                    else
                        event.setEndDate(endDate);
                }
            }
            json.put("eventDuration", Helper.readableDuration(event.getBeginDate(), event.getEndDate()));
        }

        if (params.containsKey("url")) {
            String urlStr = getString("url");
            if (StringUtils.isBlank(urlStr))
                event.setUrl(urlStr);
            else if (3000 < urlStr.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "url", "URL が長すぎます。");
            else if (!urlStr.startsWith("http://") && !urlStr.startsWith("https://"))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "url", "URL が不正です。");
            else {
                try {
                    new URL(urlStr)// Confirms URL is not malformed.
                    event.setUrl(urlStr);
                } catch (MalformedURLException e) {
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "url", "URL が不正です。");
                }
            }
        }

        if (params.containsKey("place")) {
            String place = getString("place");
            if (place != null && 300 < place.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "place", "場所が長すぎます");
            else
                event.setPlace(place);
        }

        if (params.containsKey("address")) {
            String address = getString("address");
            if (address != null && 300 < address.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "address", "住所が長すぎます。");
            else
                event.setAddress(address);
        }

        if (params.containsKey("description")) {
            String description = getString("description");
            if (description != null && 1000000 < description.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "description", "説明は 1000000 文字以下で入力してください。");
            else
                event.setDescription(description);
        }

        if (params.containsKey("hashTag")) {
            String hashTag = getString("hashTag");
            if (StringUtils.isBlank(hashTag))
                event.setHashTag(null);
            else if (100 < hashTag.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "hashTag", "ハッシュタグは100文字以内で記述してください。");
            else if (!Util.isValidHashtag(hashTag))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "hashTag", "ハッシュタグは # から始まる英数字や日本語が指定できます。記号は使えません。");
            else
                event.setHashTag(hashTag);
        }

        if (params.containsKey("passcode")) {
            String passcode = getString("passcode");
            if (StringUtils.isBlank(passcode))
                event.setPasscode(null);
            else if (20 < passcode.length())
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "passcode", "パスコードは20文字以下で記入してください。");
            else
                event.setPasscode(passcode);
        }

        if (params.containsKey("foreImageId")) {
            String foreImageId = getString("foreImageId");
            if (StringUtils.isBlank(foreImageId) || "null".equals(foreImageId))
                event.setForeImageId(null);
            else if (!Util.isUUID(foreImageId))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "foreImageId", "画像IDが不正です。");
            else {
                // Check foreImageId is owned by the owner.
                UserImage image = daos.getImageAccess().find(con, foreImageId);
                if (image == null)
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "foreImageId", "画像IDが不正です。");
                if (!user.getId().equals(image.getUserId()))
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "foreImageId", "あなたが所持していない画像の ID が指定されています。");

                // OK.
                event.setForeImageId(foreImageId);
            }
        }

        if (params.containsKey("backImageId")) {
            String backImageId = getString("backImageId");
            if (StringUtils.isBlank(backImageId) || "null".equals(backImageId))
                event.setBackImageId(null);
            else if (!Util.isUUID(backImageId))
                throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "backImageId", "画像IDが不正です。");
            else {
                // Check foreImageId is owned by the owner.
                UserImage image = daos.getImageAccess().find(con, backImageId);
                if (image == null)
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "backImageId", "画像IDが不正です。");
                if (!user.getId().equals(image.getUserId()))
                    throw new PartakeException(UserErrorCode.INVALID_PARAMETERS, "backImageId", "あなたが所持していない画像の ID が指定されています。");

                // OK.
                event.setBackImageId(backImageId);
            }
        }
View Full Code Here

    @Override
    protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
        UserOpenIDLink linkage = daos.getOpenIDLinkageAccess().findByOpenId(con, identifier);
        if (linkage == null || !userId.equals(linkage.getUserId()))
            throw new PartakeException(UserErrorCode.INVALID_OPENID);

        daos.getOpenIDLinkageAccess().remove(con, linkage.getId());
        return null;
    }
View Full Code Here

            return null;

        if (event.isDraft()) {
            // If the event is draft, only owner can see it.
            if (user == null || !DraftEventEditPermission.check(event, user))
                throw new PartakeException(UserErrorCode.FORBIDDEN_EVENT_EDIT);
        }

        if (!StringUtils.isBlank(event.getPasscode())) {
            // owner および manager は見ることが出来る。
            String passcode = (String) session.get(eventId);
            if (user != null && PrivateEventShowPermission.check(event, user)) {
                // OK. You have the right to show this event.
            } else if (StringUtils.equals(event.getPasscode(), passcode)) {
                // OK. The same passcode.
            } else {
                // public でなければ、passcode を入れなければ見ることが出来ない
                // We make this.event null for foolproof.
                this.needsPasscode = true;
                return null;
            }
        }

        tickets = daos.getEventTicketAccess().findEventTicketsByEventId(con, eventId);

        // ----- participants を反映
        ticketHolderListMap = new HashMap<UUID, EventTicketHolderList>();
        userTicketMap = new HashMap<UUID, UserTicket>();
        for (EventTicket ticket : tickets) {
            List<UserTicketEx> participations = EnrollmentDAOFacade.getEnrollmentExs(con, daos, ticket, event);
            if (participations == null)
                throw new PartakeException(ServerErrorCode.PARTICIPATIONS_RETRIEVAL_ERROR);

            ticketHolderListMap.put(ticket.getId(), ticket.calculateParticipationList(event, participations));
            if (user != null)
                userTicketMap.put(ticket.getId(), daos.getEnrollmentAccess().findByTicketIdAndUserId(con, ticket.getId(), user.getId()));
        }
View Full Code Here

    @Override
    protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
        EventTicket ticket = daos.getEventTicketAccess().find(con, ticketId);
        if (ticket == null)
            throw new PartakeException(UserErrorCode.INVALID_TICKET_ID);

        IEventAccess eventDao = daos.getEventAccess();
        Event event = eventDao.find(con, ticket.getEventId());
        if (event == null)
            throw new PartakeException(UserErrorCode.INVALID_TICKET_ID);

        if (!EventEditParticipantsPermission.check(event, user))
            throw new PartakeException(UserErrorCode.FORBIDDEN_EVENT_ATTENDANT_EDIT);

        daos.getEnrollmentAccess().removeByEventTicketIdAndUserId(con, ticketId, userId);
        return null;
    }
View Full Code Here

        assert subject != null;
        assert body != null;

        EventEx event = EventDAOFacade.getEventEx(con, daos, eventId);
        if (event == null)
            throw new PartakeException(UserErrorCode.INVALID_EVENT_ID);

        if (!EventSendMessagePermission.check(event, sender))
            throw new PartakeException(UserErrorCode.INVALID_PROHIBITED);

        ensureNotSendingTooMuch(con, daos);

        UUID messageId = daos.getMessageAccess().getFreshId(con);
        Message message = new Message(messageId, subject, body, TimeUtil.getCurrentDateTime(), null);
View Full Code Here

            EventMessage eventMessage = eventMessages.get(2);
            if (eventMessage != null) {
                DateTime msgDate = eventMessage.getCreatedAt();
                DateTime thresholdDate = new DateTime(msgDate.getTime() + 1000 * 60 * 60); // one hour later after the message was sent.
                if (currentTime.isBefore(thresholdDate)) // NG
                    throw new PartakeException(UserErrorCode.INVALID_MESSAGE_TOOMUCH);
            }
        }

        if (eventMessages.size() >= 5) {
            EventMessage eventMessage = eventMessages.get(2);
            if (eventMessage != null) {
                DateTime msgDate = eventMessage.getCreatedAt();
                DateTime thresholdDate = new DateTime(msgDate.getTime() + 1000 * 60 * 60 * 24); // one hour later after the message was sent.
                if (currentTime.isBefore(thresholdDate)) // NG
                    throw new PartakeException(UserErrorCode.INVALID_MESSAGE_TOOMUCH);
            }
        }
    }
View Full Code Here

            byte[] body = createEventFeed(feed, transaction.getActivities());
            if (body == null)
                return renderNotFound();
            return render(body, "application/rss+xml", "inline");
        } catch (IOException e) {
            throw new PartakeException(ServerErrorCode.ERROR_IO, e);
        } catch (FeedException e) {
            throw new PartakeException(ServerErrorCode.FEED_CREATION, e);
        }
    }
View Full Code Here

    @Override
    protected UserMessageEx doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
        UserMessageEx message = MessageDAOFacade.findUserReceivedMessage(con, daos, messageId);
        if (message == null)
            throw new PartakeException(UserErrorCode.INVALID_NOTFOUND);

        if (!user.getId().equals(message.getReceiverId()))
            throw new PartakeException(UserErrorCode.FORBIDDEN_MESSAGE_SHOW);

        if (!message.isOpened()) {
            UserReceivedMessage newMessage = new UserReceivedMessage(message);
            newMessage.setOpened(true);
            newMessage.setModifiedAt(TimeUtil.getCurrentDateTime());
View Full Code Here

            UserThumbnail thumbnail = new UserThumbnail(image.getId(), image.getUserId(), "image/png", os.toByteArray(), TimeUtil.getCurrentDateTime());
            daos.getThumbnailAccess().put(con, thumbnail);

            return thumbnail;
        } catch (IOException e) {
            throw new PartakeException(ServerErrorCode.ERROR_IO);
        }
    }
View Full Code Here

TOP

Related Classes of in.partake.base.PartakeException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.