Search in sources :

Example 6 with Page

use of com.pratilipi.data.type.Page in project pratilipi by Pratilipi.

the class BlogPostDataUtil method createBlogPostData.

public static BlogPostData createBlogPostData(BlogPost blogPost) {
    DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
    Page blogPostPage = dataAccessor.getPage(PageType.BLOG_POST, blogPost.getId());
    return createBlogPostData(blogPost, blogPostPage);
}
Also used : DataAccessor(com.pratilipi.data.DataAccessor) Page(com.pratilipi.data.type.Page)

Example 7 with Page

use of com.pratilipi.data.type.Page in project pratilipi by Pratilipi.

the class BlogPostDataUtil method _updateBlogPostPageUrl.

private static void _updateBlogPostPageUrl(BlogPost blogPost) {
    DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
    Page blogPage = dataAccessor.getPage(PageType.BLOG, blogPost.getBlogId());
    Page blogPostPage = dataAccessor.getPage(PageType.BLOG_POST, blogPost.getId());
    if (blogPost.getState() == BlogPostState.DELETED) {
        if (blogPostPage != null)
            dataAccessor.deletePage(blogPostPage);
        return;
    }
    boolean isNew = blogPostPage == null;
    if (isNew) {
        blogPostPage = dataAccessor.newPage();
        blogPostPage.setType(PageType.BLOG_POST);
        blogPostPage.setUri(PageType.BLOG_POST.getUrlPrefix() + blogPost.getId());
        blogPostPage.setPrimaryContentId(blogPost.getId());
        blogPostPage.setCreationDate(new Date());
    }
    String uriAlias = UriAliasUtil.generateUriAlias(blogPostPage.getUriAlias(), blogPage.getUriAlias() + "/", blogPost.getTitleEn() == null ? blogPost.getTitle() : blogPost.getTitleEn());
    if (isNew && uriAlias == null) {
    // Do Not Return
    } else if (uriAlias == blogPostPage.getUriAlias() || (uriAlias != null && uriAlias.equals(blogPostPage.getUriAlias())) || (blogPostPage.getUriAlias() != null && blogPostPage.getUriAlias().equals(uriAlias))) {
        // Do Nothing.
        return;
    } else {
        logger.log(Level.INFO, "Updating Event Page Url: '" + blogPostPage.getUriAlias() + "' -> '" + uriAlias + "'");
        blogPostPage.setUriAlias(uriAlias);
    }
    blogPostPage = dataAccessor.createOrUpdatePage(blogPostPage);
}
Also used : DataAccessor(com.pratilipi.data.DataAccessor) Page(com.pratilipi.data.type.Page) Date(java.util.Date)

Example 8 with Page

use of com.pratilipi.data.type.Page in project pratilipi by Pratilipi.

the class EventDataUtil method createEventData.

public static EventData createEventData(Event event, Boolean includePratilipiList) {
    DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
    Page eventPage = dataAccessor.getPage(PageType.EVENT, event.getId());
    return createEventData(event, eventPage, includePratilipiList);
}
Also used : DataAccessor(com.pratilipi.data.DataAccessor) Page(com.pratilipi.data.type.Page)

Example 9 with Page

use of com.pratilipi.data.type.Page in project pratilipi by Pratilipi.

the class EventDataUtil method createEventData.

public static EventData createEventData(Event event, Page eventPage, Boolean includePratilipiList) {
    EventData eventData = new EventData();
    eventData.setId(event.getId());
    eventData.setName(event.getName());
    eventData.setNameEn(event.getNameEn());
    eventData.setLanguage(event.getLanguage());
    eventData.setDescription(event.getDescription());
    eventData.setPageUrl(eventPage.getUriAlias() == null ? eventPage.getUri() : eventPage.getUriAlias());
    eventData.setBannerImageUrl(createEventBannerUrl(event));
    eventData.setAccessToUpdate(hasAccessToUpdateEventData(event, null));
    if (includePratilipiList) {
        eventData.setPratilipiIdList(event.getPratilipiIdList());
        if (event.getPratilipiIdList() == null || event.getPratilipiIdList().size() == 0) {
            eventData.setPratilipiUrlList(new ArrayList<String>(0));
        } else {
            Map<Long, Page> pratilipiPages = DataAccessorFactory.getDataAccessor().getPages(PageType.PRATILIPI, event.getPratilipiIdList());
            List<String> pratilipiUrlList = new ArrayList<>(event.getPratilipiIdList().size());
            for (Long pratilipiId : event.getPratilipiIdList()) {
                Page pratilipiPage = pratilipiPages.get(pratilipiId);
                if (pratilipiPage != null)
                    pratilipiUrlList.add(pratilipiPage.getUriAlias() == null ? pratilipiPage.getUri() : pratilipiPage.getUriAlias());
            }
            eventData.setPratilipiUrlList(pratilipiUrlList);
        }
    }
    return eventData;
}
Also used : ArrayList(java.util.ArrayList) Page(com.pratilipi.data.type.Page) EventData(com.pratilipi.data.client.EventData)

Example 10 with Page

use of com.pratilipi.data.type.Page in project pratilipi by Pratilipi.

the class EventDataUtil method createEventDataList.

public static List<EventData> createEventDataList(List<Event> eventList) {
    List<Long> eventIdList = new ArrayList<>();
    for (Event event : eventList) eventIdList.add(event.getId());
    Map<Long, Page> eventPages = DataAccessorFactory.getDataAccessor().getPages(PageType.EVENT, eventIdList);
    List<EventData> eventDataList = new ArrayList<>();
    for (Event event : eventList) eventDataList.add(createEventData(event, eventPages.get(event.getId()), false));
    return eventDataList;
}
Also used : ArrayList(java.util.ArrayList) Event(com.pratilipi.data.type.Event) Page(com.pratilipi.data.type.Page) EventData(com.pratilipi.data.client.EventData)

Aggregations

Page (com.pratilipi.data.type.Page)37 DataAccessor (com.pratilipi.data.DataAccessor)28 ArrayList (java.util.ArrayList)12 Pratilipi (com.pratilipi.data.type.Pratilipi)10 Author (com.pratilipi.data.type.Author)8 Date (java.util.Date)8 HashMap (java.util.HashMap)7 UserPratilipi (com.pratilipi.data.type.UserPratilipi)6 JsonObject (com.google.gson.JsonObject)5 InvalidArgumentException (com.pratilipi.common.exception.InvalidArgumentException)5 GenericResponse (com.pratilipi.api.shared.GenericResponse)4 UnexpectedServerException (com.pratilipi.common.exception.UnexpectedServerException)4 Event (com.pratilipi.data.type.Event)4 LinkedList (java.util.LinkedList)4 Gson (com.google.gson.Gson)3 Post (com.pratilipi.api.annotation.Post)3 DocAccessor (com.pratilipi.data.DocAccessor)3 AuthorData (com.pratilipi.data.client.AuthorData)3 BlogPost (com.pratilipi.data.type.BlogPost)3 PratilipiV2Api (com.pratilipi.api.impl.pratilipi.PratilipiV2Api)2