Example usage for com.liferay.portal.kernel.language LanguageUtil get

List of usage examples for com.liferay.portal.kernel.language LanguageUtil get

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.language LanguageUtil get.

Prototype

public static String get(ResourceBundle resourceBundle, String key) 

Source Link

Usage

From source file:com.stoxx.portlet.manageusers.controller.ManageUsersController.java

@RenderMapping(params = "redirectedPage=customer")
public String displayCustomer(RenderRequest request, RenderResponse response, Model model) {
    log.info("customer render method is called");
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    Boolean flag = Boolean.TRUE;
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(SalesEntry.class,
            PortalClassLoaderUtil.getClassLoader());
    Criterion criterion = RestrictionsFactoryUtil.or(RestrictionsFactoryUtil.eq("status", 1),
            RestrictionsFactoryUtil.eq("status", 2));
    dynamicQuery.add(criterion);/*  w w w  .j  a v  a  2  s . com*/
    String searchCategory = request.getParameter(SEARCH_CATEGORY);
    String searchTerm = request.getParameter(SEARCH_TERM);
    if (Validator.isNotNull(searchCategory) && LanguageUtil
            .get(themeDisplay.getLocale(), "stoxx-manage-company-name").equalsIgnoreCase(searchCategory)) {
        dynamicQuery.add(RestrictionsFactoryUtil.ilike("companyName", "%" + searchTerm + "%"));
    }
    if (Validator.isNotNull(searchCategory)
            && LanguageUtil.get(themeDisplay.getLocale(), "stoxx-manage-company-expiry-date")
                    .equalsIgnoreCase(searchCategory)) {
        Date date1 = null;
        try {
            date1 = STOXXDateUtil.convertStringToDateInStoxxApplicationDateFormat(searchTerm);
            log.info("Expiry date is " + date1);
            Criterion dateRangeCriterion = RestrictionsFactoryUtil.eq("endDate",
                    new java.sql.Timestamp(date1.getTime()));
            dynamicQuery.add(dateRangeCriterion);
        } catch (STOXXException e) {
            log.error(e.getMessage(), e);
        }
    }

    if (Validator.isNotNull(searchCategory) && LanguageUtil
            .get(themeDisplay.getLocale(), "stoxx-manage-company-domain").equalsIgnoreCase(searchCategory)) {
        DynamicQuery emaildynamicQuery = DynamicQueryFactoryUtil.forClass(EmailDomain.class,
                PortalClassLoaderUtil.getClassLoader());
        emaildynamicQuery.add(RestrictionsFactoryUtil.ilike("domain", "%" + searchTerm + "%"));
        emaildynamicQuery
                .setProjection(ProjectionFactoryUtil.distinct(ProjectionFactoryUtil.property("salesEntryId")));
        try {
            List<Long> salesEntryIdList = new ArrayList<Long>(
                    EmailDomainLocalServiceUtil.dynamicQuery(emaildynamicQuery));
            if (salesEntryIdList.size() == 0) {
                flag = Boolean.FALSE;
            }
            for (Long salesEntryId : salesEntryIdList) {
                dynamicQuery.add(RestrictionsFactoryUtil.eq("salesEntryId", salesEntryId));
            }
        } catch (SystemException e) {
            log.error(e.getMessage(), e);
        }
    }

    List<SalesEntry> salesEntryList = null;
    CompanyVO companyVO = new CompanyVO();
    List<SalesEntry> sessionSalesEntryList = null;
    try {
        if (flag) {
            salesEntryList = new ArrayList<SalesEntry>(SalesEntryLocalServiceUtil.dynamicQuery(dynamicQuery));
        } else {
            salesEntryList = new ArrayList<SalesEntry>();
        }

        if (Validator.isNotNull(salesEntryList) && salesEntryList.size() > 0) {
            Collections.sort(salesEntryList, new Comparator<SalesEntry>() {

                @Override
                public int compare(SalesEntry o1, SalesEntry o2) {
                    return o1.getCompanyName().compareToIgnoreCase(o2.getCompanyName());
                }
            });

            PortletSession session = request.getPortletSession();
            String currentPage = request.getParameter(CURRENT_PAGE);
            currentPage = (currentPage == null) ? "1" : currentPage;

            sessionSalesEntryList = salesEntryList;
            session.setAttribute("sessionSalesEntryList", sessionSalesEntryList);

            int noOfPages = (int) Math.ceil(salesEntryList.size() * 1.0 / 10);
            int currentPageInt = GetterUtil.getInteger(currentPage);

            int startIndex = (currentPageInt - 1) * 10;
            int endIndex = currentPageInt * 10;

            if (noOfPages == currentPageInt) {
                endIndex = salesEntryList.size();
            }

            if (noOfPages > 1) {
                request.setAttribute(SHOW_TILE_PAGINATION, YES);
                request.setAttribute(CURRENT_TILE_PAGE, currentPageInt);
                request.setAttribute(NO_OF_TILE_PAGES, noOfPages);
            } else {
                request.setAttribute(SHOW_TILE_PAGINATION, NO);
            }

            Map<Long, Map<String, Integer>> salesEntryIdToCompanyName = new LinkedHashMap<Long, Map<String, Integer>>();
            for (SalesEntry salesEntry : salesEntryList.subList(startIndex, endIndex)) {
                Map<String, Integer> companyNameToStatusMap = new LinkedHashMap<String, Integer>();
                companyNameToStatusMap.put(salesEntry.getCompanyName(), salesEntry.getStatus());
                salesEntryIdToCompanyName.put(salesEntry.getSalesEntryId(), companyNameToStatusMap);
            }
            companyVO.setCompanyMap(salesEntryIdToCompanyName);
        } else {
            request.setAttribute(SHOW_TILE_PAGINATION, NO);
        }
        companyVO.setSearchCriterionList(ManageUserUtil.loadSearchListForCustomer(themeDisplay.getLocale()));
    } catch (SystemException e) {
        log.error(SYSTEM_EXCEPTION + e);
    }
    request.setAttribute(SEARCH_CATEGORY, searchCategory);
    request.setAttribute(SEARCH_TERM, searchTerm);
    model.addAttribute("companyVO", companyVO);
    return SHOW_CUSTOMER_COMPANY;
}

From source file:com.stoxx.portlet.manageusers.controller.ManageUsersController.java

@ResourceMapping(value = "updateDepartment")
public void updateDepartment(@ModelAttribute(USER_MODEL) UserModel userModel, ResourceRequest request,
        ResourceResponse response) throws IOException {
    log.info("Updating to department: " + userModel.getDepartmentName() + " for emailaddress: "
            + userModel.getEmailAddress());
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    try {//w  w w .  j  ava 2  s .c o  m
        manageUsersDeligate.updateUserDepartment(userModel);
        JSONObject jsonObject = createJSONResult("SUCCESS",
                LanguageUtil.get(themeDisplay.getLocale(), "stoxx-department-save-success-message"));
        response.getWriter().print(jsonObject.toString());
    } catch (STOXXException e) {
        log.error(
                "Unable to save department change [emailAddress=" + userModel.getEmailAddress() + " department="
                        + userModel.getDepartmentName() + "] " + e.getExpCode() + " - " + e.getMessage());
        JSONObject jsonObject = createJSONResult("FAILURE",
                LanguageUtil.get(themeDisplay.getLocale(), "stoxx-department-save-failure-message"));
        response.getWriter().print(jsonObject.toString());
    }
}

From source file:com.stoxx.portlet.manageusers.controller.ManageUsersController.java

@ActionMapping(params = "action=saveUserType")
public void saveUserType(@ModelAttribute("userTypeModel") UserTypeModel userTypeModel, ActionRequest request,
        ActionResponse response, Model model) throws IOException {
    log.info("Updating user type with information " + userTypeModel.toString());
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    if (USERTYPE_CUSTOMER.equalsIgnoreCase(userTypeModel.getUserType())) {
        try {// w  w w .  j av a2s .co  m
            Layout layout = LayoutLocalServiceUtil.getFriendlyURLLayout(themeDisplay.getScopeGroupId(), true,
                    FRIENDLYURL_MANAGE_SALES_ENTRY);
            LiferayPortletURL displayUsersPortletURL = PortletURLFactoryUtil.create(request,
                    "STOXXPreRegCustomerAdminPortlet_WAR_STOXXPreRegCustomerAdminPortlet10", layout.getPlid(),
                    PortletRequest.RENDER_PHASE);
            displayUsersPortletURL.setParameter("action", "changeUserType");
            displayUsersPortletURL.setParameter("emailAddress", userTypeModel.getEmailAddress());
            response.sendRedirect(displayUsersPortletURL.toString());
        } catch (NoSuchLayoutException ex) {
            log.error("Users listing layout not found with friendly url " + FRIENDLYURL_MANAGE_SALES_ENTRY);
        } catch (PortalException e) {
            log.error(e.getMessage());
        } catch (SystemException e) {
            log.error(e.getMessage());
        }

    } else {
        try {
            manageUsersDeligate.updateUserType(userTypeModel, themeDisplay);
            SessionMessages.add(request, "requestProcessed",
                    LanguageUtil.get(themeDisplay.getLocale(), "stoxx-usertype-save-success-message"));
        } catch (STOXXException e) {
            log.error("Unable to update user type due to:" + e.getExpCode() + ":" + e.getExpMsg() + e);
            SessionErrors.add(request, "failed");
        }

        LiferayPortletURL redirectUrl = PortletURLFactoryUtil.create(request, PortalUtil.getPortletId(request),
                themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);
        redirectUrl.setParameter(REDIRECTED_PAGE, GENERAL_USER);
        response.sendRedirect(redirectUrl.toString());
    }
}

From source file:com.stoxx.portlet.manageusers.controller.ManageUsersController.java

@ActionMapping(params = "action=SUSPEND")
public void suspendUserAction(@RequestParam String userID,
        @ModelAttribute(MANAGEUSERSBEAN) ManageUsersBean manageUsersBean, ActionRequest actionRequest,
        ActionResponse actionResponse, Model model) {
    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
    try {// w  w w.ja v a  2  s  . c  o  m
        manageUsersDeligate.suspendUser(userID);
    } catch (STOXXException e) {
        log.error(e.getMessage(), e);
    }
    List<String> roleNameList = new ArrayList<String>();
    roleNameList.add(PropsUtil.get("stoxx.user.role.gateway.role"));
    try {
        User suspendeduser = UserLocalServiceUtil.fetchUser(Long.valueOf(userID));
        Set<User> userIds = SendNotificationUtil.getuserByRoleName(themeDisplay.getCompanyId(),
                themeDisplay.getUserId(), roleNameList);
        if (Validator.isNotNull(suspendeduser)) {
            String message = LanguageUtil.get(themeDisplay.getLocale(), "notification_for_suspend_user1") + " "
                    + suspendeduser.getFullName() + " "
                    + LanguageUtil.get(themeDisplay.getLocale(), "notification_for_suspend_user2");
            sendnotification(themeDisplay, userIds, message);
            if (actionRequest.getParameter(PAGE_NAME) != null
                    && actionRequest.getParameter(PAGE_NAME).equalsIgnoreCase(STAFF_USERS)) {
                actionResponse.setRenderParameter(REDIRECTED_PAGE, STAFF);
            } else if (actionRequest.getParameter(PAGE_NAME) != null
                    && actionRequest.getParameter(PAGE_NAME).equalsIgnoreCase(GENERAL_USERS)) {
                actionResponse.setRenderParameter(REDIRECTED_PAGE, GENERAL_USER);
            } else {
                redirectTranslatorCompanyUser(actionRequest, actionResponse);
            }

        }

    } catch (SystemException e) {
        log.error(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    } catch (PortletException e) {
        log.error(e.getMessage(), e);
    } catch (PortalException e) {
        log.error(e.getMessage(), e);
    }

}

From source file:com.stoxx.portlet.preregcustomeradmin.controller.CustomerAdminController.java

@ActionMapping(params = "action=saveSalesEntry")
public void addSalesEntry(@ModelAttribute("preRegAdminVO") PreRegAdminVO preRegAdminVO, ActionRequest request,
        ActionResponse response, Model model) throws SystemException, IOException, PortalException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    try {//from  w  ww .  j  a va 2  s.  c o m

        if (customerAdminDelegate.hasSalesEntryByGroupName(preRegAdminVO.getGroupName())) {
            SessionErrors.add(request, "SEGroupNameUsed");
            log.info("Sales entry already exist with group name :" + preRegAdminVO.getGroupName());
        } else {
            if (validateSalesEntryLicense(preRegAdminVO, "Add", null)) {
                log.info("Adding sales entry: " + preRegAdminVO);
                try {
                    Map<String, List<String>> result = customerAdminDelegate.addSalesEntry(preRegAdminVO,
                            themeDisplay);
                    log.info("Sales entry added with result: " + result);
                    SessionMessages.add(request, REQUEST_PROCESSED, LanguageUtil.get(themeDisplay.getLocale(),
                            "stoxx-prereg-sales-entry-create-success"));
                    processSessionMessages(request, result);
                } catch (STOXXException e) {
                    SessionErrors.add(request, e.getExpCode(), e.getExpMsg());
                    log.error(e.getExpCode() + e.getExpMsg());
                }
            } else {
                log.info(NUMBER_OF_LICENSE_REGISTERED_WITH_THIS_GROUP_CAN_T_EXCEED_NUMBER_OF_ALLOWED_USERS_SET);
                SessionErrors.add(request, "SalesEntryAccountExceed",
                        NUMBER_OF_LICENSE_REGISTERED_WITH_THIS_GROUP_CAN_T_EXCEED_NUMBER_OF_ALLOWED_USERS_SET);
            }
        }
    } catch (STOXXException e) {
        log.error("STOXXException", e);
    }
    response.sendRedirect(getResultPageUrl(request, themeDisplay));
}

From source file:com.stoxx.portlet.preregcustomeradmin.controller.CustomerAdminController.java

@ActionMapping(params = "action=updateSalesEntry")
public void updateSalesEntry(@ModelAttribute("editSalesEntryVO") SalesEntryEditVO salesEntryEditVO,
        ActionRequest request, ActionResponse response) throws IOException, PortalException, SystemException {
    log.info("Updating sales entry with information: " + salesEntryEditVO);
    try {//  w ww .  ja  v  a2s.  c  o m
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
        if (validateSalesEntryLicense(null, "Edit", salesEntryEditVO)) {
            try {
                Map<String, List<String>> result = customerAdminDelegate.updateSalesEntry(salesEntryEditVO,
                        themeDisplay);
                log.info("Sales entry updated with result: " + result);
                SessionMessages.add(request, REQUEST_PROCESSED,
                        LanguageUtil.get(themeDisplay.getLocale(), "stoxx-prereg-sales-entry-update-success"));
                processSessionMessages(request, result);
            } catch (STOXXException e) {
                SessionErrors.add(request, e.getExpCode(), e.getExpMsg());
                log.error(e.getExpCode() + e.getExpMsg());
            }
        } else {
            log.info(NUMBER_OF_LICENSE_REGISTERED_WITH_THIS_GROUP_CAN_T_EXCEED_NUMBER_OF_ALLOWED_USERS_SET);
            SessionErrors.add(request, "SalesEntryAccountExceed",
                    NUMBER_OF_LICENSE_REGISTERED_WITH_THIS_GROUP_CAN_T_EXCEED_NUMBER_OF_ALLOWED_USERS_SET);
        }

        String returnUrl = getResultPageUrl(request, themeDisplay);
        response.sendRedirect(returnUrl);
    } catch (STOXXException e) {
        log.error("STOXXException", e);
    }
}

From source file:com.stoxx.portlet.preregcustomeradmin.delegate.CustomerAdminDelegate.java

private void sendActivationEmail(String emailAddress, Locale locale, Map<String, Object> emailBodyMap,
        String emailVelocityTemplate) throws MessagingException {
    stoxxMailUtil.sendEmailNotification(emailAddress,
            PropsUtil.get("stoxx-prereg-customer-admin-mail-from-address"), emailVelocityTemplate,
            LanguageUtil.get(locale, "stoxx-prereg-email-subject"), emailBodyMap);
}

From source file:de.fhg.fokus.odp.portal.datasets.SelectedMetadata.java

License:Open Source License

/**
 * Inits the./* w w w.java  2 s.  c o m*/
 * 
 */
@PostConstruct
public void init() {

    if (metadata == null) {
        String name = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
                .get("metadata");
        if (name != null) {
            try {
                metadata = registryClient.getInstance().getMetadata(null, name);
                // registryClient.getInstance().loadRating(metadata);
                this.contact = new CurrentMetadataContact(metadata);
            } catch (OpenDataRegistryException e) {
                logger.error("Metadata detail page", e.getMessage());
            }
        }
    }

    if (metadata != null) {
        LiferayFacesContext.getInstance().getThemeDisplay().getLayout().setTitle(metadata.getTitle());
        try {
            comments = MetadataCommentLocalServiceUtil.findBymetadataName(metadata.getName());
        } catch (SystemException e) {
            logger.error("Loading comments of metadata " + metadata.getName(), e);
        }
    } else {
        logger.info("selectedmetadata not found!");
        String name = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
                .get("metadata");
        // get some global objects
        LiferayFacesContext lfc = LiferayFacesContext.getInstance();
        // ThemeDisplay tD = lfc.getThemeDisplay();
        PortletRequest request = (PortletRequest) lfc.getExternalContext().getRequest();
        String details = LanguageUtil.get(request.getLocale(), "od.dataset.not.exsist.error.details");
        String summary = LanguageUtil.get(request.getLocale(), "od.dataset.not.exsist.error.summary");
        FacesContext.getCurrentInstance().addMessage(null,
                new FacesMessage(FacesMessage.SEVERITY_ERROR, summary + ":" + name, details));
    }
}

From source file:de.fhg.fokus.odp.portal.datasets.SelectedMetadata.java

License:Open Source License

/**
 * Send mail./*from ww w  .jav a  2s  .c om*/
 * 
 * @throws MessagingException
 *             the messaging exception
 * @throws SystemException
 * @throws PortalException
 */
private void sendMail() throws MessagingException, PortalException, SystemException {

    // get some global objects
    LiferayFacesContext lfc = LiferayFacesContext.getInstance();
    ThemeDisplay tD = lfc.getThemeDisplay();
    PortletRequest request = (PortletRequest) lfc.getExternalContext().getRequest();

    String metadataUrl = LiferayFacesContext.getInstance().getThemeDisplay().getLayout().getFriendlyURL();
    metadataUrl += "/-/details/" + metadata.getName();

    // get the email subject and body
    String subject = LanguageUtil.get(request.getLocale(), "od.datasets.comment.email.subject") + " "
            + metadata.getType().getDisplayName();
    String body = LanguageUtil.get(request.getLocale(), "od.datasets.comment.email.body.comment") + "\t"
            + newComment;

    body += "\n\n" + LanguageUtil.get(request.getLocale(), "od.datasets.comment.email.body.metadata") + "\t"
            + metadata.getTitle() + "\n\t" + metadata.getName() + "\n\t" + portalUrl(metadataUrl);

    body += "\n\n" + LanguageUtil.get(request.getLocale(), "od.datasets.comment.email.body.user") + "\t"
            + UserLocalServiceUtil.getUser(tD.getUserId()).getLogin();

    // get the from address
    String fromStr = PortalUtil.getPortalProperties().getProperty("admin.email.from.address");
    if (fromStr == null || fromStr.matches("^\\s*$")) {
        try {
            fromStr = PrefsPropsUtil.getString(tD.getCompanyId(), "admin.email.from.address");
        } catch (SystemException e) {
            logger.error("sendMail:SystemException:" + e.getMessage());
            return;
        }
    }

    // check if an address can be send out
    if (fromStr == null || fromStr.matches("^\\s*%")) {
        logger.error("No from email address found");
        return;
    }
    InternetAddress from = new InternetAddress(fromStr);

    // prepare the properties and session
    Properties props = new Properties();

    String smtpHost = PropsUtil.get("mail.session.mail.smtp.host");
    if (smtpHost == null || smtpHost.matches("^\\s*$")) {
        logger.error("No smtp host specified");
        return;
    }

    props.put("mail.smtp.host", smtpHost);
    String port = PropsUtil.get("mail.session.mail.smtp.port");
    if (port != null && !port.matches("^\\s*$")) {
        props.put("mail.smtp.port", port);
    }

    Session session = Session.getDefaultInstance(props);

    // start with building up the message
    Message msg = new MimeMessage(session);

    // get all the email addresses
    List<Contact> cLs = metadata.getContacts();
    for (int i = 0; i < cLs.size(); i++) {
        try {
            logger.debug(cLs.get(i).getEmail());
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(cLs.get(i).getEmail()));
        } catch (AddressException e) {
            logger.warn(e.getMessage() + ": " + cLs.get(i).getEmail());
        } catch (Exception e) {
            logger.error(e.getMessage());
        }
    }

    // add BCC for observing comments
    msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(PropsUtil.get("mail.comment.cc.address")));

    msg.setContent(body, "text/plain");
    msg.setFrom(from);
    msg.setSubject(subject);
    Transport.send(msg);
}

From source file:de.fhg.fokus.odp.portal.managedatasets.controller.ManageController.java

License:Open Source License

/**
 * Inits the./* w  w w .  j a v a 2 s  . co m*/
 * 
 */
@PostConstruct
private void init() {
    LiferayFacesContext lfc = LiferayFacesContext.getInstance();
    PortletRequest request = (PortletRequest) lfc.getExternalContext().getRequest();
    ThemeDisplay td = lfc.getThemeDisplay();

    Properties props = new Properties();
    if (metadataController.getMetadata().getType().equals(MetadataEnumType.APPLICATION)) {
        props.setProperty("ckan.authorization.key", PropsUtil.get("authenticationKeyApps"));
    } else {
        props.setProperty("ckan.authorization.key", PropsUtil.get("authenticationKey"));
    }
    props.setProperty("ckan.url", PropsUtil.get("cKANurl"));

    LOG.debug("odRClient props:" + props.toString());

    odrClient = OpenDataRegistry.getClient();
    odrClient.init(props);

    redakteur = false;
    try {
        for (Role role : RoleLocalServiceUtil.getUserRoles(td.getUserId())) {
            if (role.getName().equals("Redakteur")
                    && RoleLocalServiceUtil.hasUserRole(role.getRoleId(), td.getUserId())) {
                redakteur = true;
            }
        }
    } catch (SystemException e) {
        LOG.error(e.getMessage(), e);
    }

    selectedTags = new ArrayList<String>();
    selectedCategories = new ArrayList<String>();
    selectedManyCategories = new ArrayList<String>();
    licences = new ArrayList<Licence>();
    // resource2DeleteList = new ArrayList<String>();

    /*
     * Sets caption according to create/edit metadata for
     * dataset/app/document
     */
    if (metadataController.getMetadata().getTitle() == null
            || metadataController.getMetadata().getTitle().isEmpty()) {
        /*
         * Create
         */

        author = metadataController.getMetadata().newContact(RoleEnumType.AUTHOR);
        maintainer = metadataController.getMetadata().newContact(RoleEnumType.MAINTAINER);
        distributor = metadataController.getMetadata().newContact(RoleEnumType.DISTRIBUTOR);

        editMode = false;

        LicenceBean lb = new LicenceBean();
        Licence emptyLicence = new LicenceImpl(lb);
        metadataController.getMetadata().setLicence(emptyLicence);
        emptyLicence.setTitle(LanguageUtil.get(request.getLocale(), "od.licence.select"));

        licences.add(emptyLicence);

        if (metadataController.getMetadata().getType().equals(MetadataEnumType.DATASET)
                || metadataController.getMetadata().getType().equals(MetadataEnumType.UNKNOWN)) {
            metadataController.getMetadata().newResource();
            caption = LanguageUtil.get(request.getLocale(), "od.create.metadata.data");
            submitquestion = LanguageUtil.get(request.getLocale(), "od.create.metadata.data.submit");
            metadataType = "dataset";
        } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.APPLICATION)) {
            caption = LanguageUtil.get(request.getLocale(), "od.create.metadata.app");
            submitquestion = LanguageUtil.get(request.getLocale(), "od.create.metadata.app.submit");
            metadataType = "app";
            usedDatasetUris = new ArrayList<String>();
        } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.DOCUMENT)) {
            metadataController.getMetadata().newResource();
            caption = LanguageUtil.get(request.getLocale(), "od.create.metadata.document");
            submitquestion = LanguageUtil.get(request.getLocale(), "od.create.metadata.document.submit");
            metadataType = "document";
        }
    } else {
        /*
         * Edit
         */

        try {
            // Handle contacts
            for (Contact contact : metadataController.getMetadata().getContacts()) {
                if (contact.getRole().equals(RoleEnumType.AUTHOR)) {
                    author = contact;
                } else if (contact.getRole().equals(RoleEnumType.MAINTAINER)) {
                    maintainer = contact;
                } else if (contact.getRole().equals(RoleEnumType.DISTRIBUTOR)) {
                    distributor = contact;
                } else if (contact.getRole().equals(RoleEnumType.PUBLISHER)) {
                    LOG.info("Handle metadata contact PUBLISHER [" + contact.getName() + "] now as AUTHOR");
                    /* msg 10.10.2014 begin */
                    author = contact;
                    /* msg 10.10.2014 end */
                }
            }
        } catch (UnknownRoleException une) {
            LOG.error("UnknownRoleException -> Contact role:", une.getMessage());
        } finally {
            metadataController.getMetadata().getContacts().clear();
        }

        if (author == null) {
            author = metadataController.getMetadata().newContact(RoleEnumType.AUTHOR);
        }

        if (maintainer == null) {
            maintainer = metadataController.getMetadata().newContact(RoleEnumType.MAINTAINER);
        }

        if (distributor == null) {
            distributor = metadataController.getMetadata().newContact(RoleEnumType.DISTRIBUTOR);
        }

        editMode = true;
        selectedLicence = metadataController.getMetadata().getLicence().getName();
        unknownLicenceText = metadataController.getMetadata().getLicence().getTitle();
        unknownLicenceUrl = metadataController.getMetadata().getLicence().getUrl();
        for (Tag t : metadataController.getMetadata().getTags()) {
            selectedTags.add(t.getName());
        }
        for (Category c : metadataController.getMetadata().getCategories()) {
            selectedCategories.add(c.getName());
            selectedManyCategories.add(c.getName());
        }

        submitquestion = LanguageUtil.get(request.getLocale(), "od.edit.any.data.save.changes");

        if (metadataController.getMetadata().getType().equals(MetadataEnumType.DATASET)
                || metadataController.getMetadata().getType().equals(MetadataEnumType.UNKNOWN)) {
            caption = LanguageUtil.get(request.getLocale(), "od.edit.metadata.data");

            metadataType = "dataset";
        } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.APPLICATION)) {
            caption = LanguageUtil.get(request.getLocale(), "od.edit.metadata.app");

            metadataType = "app";
            usedDatasetUris = ((Application) metadataController.getMetadata()).getUsedDatasets();
            if (((Application) metadataController.getMetadata()).getUsedDatasets().size() < 1) {
            }
        } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.DOCUMENT)) {
            caption = LanguageUtil.get(request.getLocale(), "od.edit.metadata.document");

            metadataType = "document";
        }

        unknownLicence = unknownLicence(metadataController.getMetadata().getLicence().getName());
    }

    /*
     * Fill licences accordingly to the metadata type: dataset, app,
     * document
     */

    List<Licence> tempDatenlizenzDeutschlandLicences = new ArrayList<Licence>();
    List<Licence> tempEINGESCHRAENKTLicences = new ArrayList<Licence>();

    if (metadataController.getMetadata().getType().equals(MetadataEnumType.DATASET)
            || metadataController.getMetadata().getType().equals(MetadataEnumType.UNKNOWN)) {
        for (Licence licence : odrClient.listLicenses()) {
            if (licence.isDomainData()) {
                add2licences(request, tempDatenlizenzDeutschlandLicences, tempEINGESCHRAENKTLicences, licence);
            }
        }
    } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.APPLICATION)) {
        for (Licence licence : odrClient.listLicenses()) {
            if (licence.isDomainSoftware()) {
                add2licences(request, tempDatenlizenzDeutschlandLicences, tempEINGESCHRAENKTLicences, licence);
            }
        }
    } else if (metadataController.getMetadata().getType().equals(MetadataEnumType.DOCUMENT)) {
        for (Licence licence : odrClient.listLicenses()) {
            if (licence.isDomainContent()) {
                add2licences(request, tempDatenlizenzDeutschlandLicences, tempEINGESCHRAENKTLicences, licence);
            }
        }
    }

    Collections.sort(tempDatenlizenzDeutschlandLicences, new Comparator<Licence>() {
        public int compare(Licence l1, Licence l2) {
            return -(l2.getTitle().compareTo(l1.getTitle()));
        }
    });

    Collections.sort(tempEINGESCHRAENKTLicences, new Comparator<Licence>() {
        public int compare(Licence l1, Licence l2) {
            return -(l2.getTitle().compareTo(l1.getTitle()));
        }
    });
    Collections.sort(licences, new Comparator<Licence>() {
        public int compare(Licence l1, Licence l2) {
            return -(l2.getTitle().compareTo(l1.getTitle()));
        }
    });

    // Damit alle DatenlizenzDeutschland immer oben in der liste stehen
    if (!licences.get(0).getTitle().equals(LanguageUtil.get(request.getLocale(), "od.licence.select"))) {
        licences.addAll(0, tempDatenlizenzDeutschlandLicences);
    } else
        licences.addAll(1, tempDatenlizenzDeutschlandLicences);
    // Damit alle EINGESCHRAENKT immer ganz unten in der liste stehen
    licences.addAll(tempEINGESCHRAENKTLicences);

    categories = new ArrayList<Category>();
    List<Category> cats = odrClient.listCategories();
    for (Category c : cats) {
        if ("group".equals(c.getType())) {
            categories.add(c);
        }
    }

    sectors = new ArrayList<SectorEnumType>();
    for (SectorEnumType sector : SectorEnumType.values()) {
        sectors.add(sector);
    }

    geoGranularities = new ArrayList<GeoGranularityEnumType>();
    for (GeoGranularityEnumType geoType : GeoGranularityEnumType.values()) {
        geoGranularities.add(geoType);
    }

    temporalGranularityEnumTypes = new ArrayList<TemporalGranularityEnumType>();
    for (TemporalGranularityEnumType t : TemporalGranularityEnumType.values()) {
        temporalGranularityEnumTypes.add(t);
    }
}