package com.wcs.newsletter.controller; /* * #%L * Webstar Newsletter * %% * Copyright (C) 2013 Webstar Csoport Kft. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.model.User; import com.liferay.portal.service.UserLocalServiceUtil; import com.wcs.newsletter.dto.SubscriptionListElem; import com.wcs.newsletter.dto.SubscriptionListElemDataModel; import com.wcs.newsletter.model.Subscription; import com.wcs.newsletter.model.SubscriptionCategory; import com.wcs.newsletter.service.SubscriptionCategoryLocalServiceUtil; import com.wcs.newsletter.service.SubscriptionLocalServiceUtil; import com.wcs.newsletter.service.persistence.SubscriptionUtil; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; @ManagedBean @ViewScoped public class SubscriptionListController extends AbstractListController<SubscriptionListElem, SubscriptionListElemDataModel> { @Override protected void init() { initModel(); } public void resetController() { model = null; } public void initModel() { if (model == null) { List<SubscriptionListElem> elems = new ArrayList<SubscriptionListElem>(); try { elems = getSubscriptionListElems(); } catch (SystemException ex) { logger.error(ex); addErrorMessage(ex); } model = new SubscriptionListElemDataModel(elems); } } private List<SubscriptionListElem> getSubscriptionListElems() throws SystemException { List<SubscriptionListElem> subscriptionListElems = new ArrayList<SubscriptionListElem>(); List<Subscription> subscriptions = SubscriptionLocalServiceUtil.getSubscriptions(); for (Subscription subscription : subscriptions) { long id = subscription.getSubscriptionId(); List<SubscriptionCategory> subscribedList = SubscriptionCategoryLocalServiceUtil.findBySubscriptionId(id); long categoryCount = subscribedList != null ? subscribedList.size() : 0; SubscriptionListElem elem = new SubscriptionListElem(subscription, categoryCount); subscriptionListElems.add(elem); } return subscriptionListElems; } public void syncronizeSubscriptions() { try { List<User> allUsers = UserLocalServiceUtil.getUsers(0, UserLocalServiceUtil.getUsersCount()); // System.out.println("allUsers"+ allUsers); for (User subscriptionUser : allUsers) { // System.out.println("subscriptionUser"+subscriptionUser.getEmailAddress()); List<Subscription> subs = SubscriptionLocalServiceUtil.findByEmail(subscriptionUser.getEmailAddress()); // List<Subscription> subs = SubscriptionLocalServiceUtil.findByUserId(subscriptionUser.getUserId()); // System.out.println("subs"+subs); if (subs.size() > 0) { for (Subscription sub : subs) { System.out.println("bejön"); sub.setEmail(""); sub.setUserId(subscriptionUser.getUserId()); SubscriptionLocalServiceUtil.updateSubscription(sub); } } } } catch (SystemException ex) { Logger.getLogger(SubscriptionListController.class.getName()).log(Level.SEVERE, null, ex); } } @Override public String edit(SubscriptionListElem elem) { logger.info("edit {0}", new Object[]{elem}); return getNavigationController().navigateToSubscriptionEdit(elem.getId()); } @Override public String create() { return null; } @Override public void delete(SubscriptionListElem elem) throws Exception { } }