Projects >> zanata-server >>b2e94a8e847f6dee74bb1ce116b394bce3813134

Chunk
Conflicting content
=======
import org.jboss.seam.core.Events;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.security.Restrict;
<<<<<<< HEAD
import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.international.StatusMessage;
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
import org.zanata.common.EntityStatus;
import org.zanata.common.LocaleId;
import org.zanata.common.ProjectType;
Solution content
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.international.StatusMessage;
import org.zanata.common.EntityStatus;
import org.zanata.common.LocaleId;
import org.zanata.common.ProjectType;
File
VersionHome.java
Developer's decision
Combination
Kind of conflict
Import
Chunk
Conflicting content
import org.zanata.common.ProjectType;
import org.zanata.dao.ProjectDAO;
import org.zanata.dao.ProjectIterationDAO;
<<<<<<< HEAD
import org.zanata.events.ProjectIterationUpdate;
=======
import org.zanata.dao.LocaleDAO;
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
import org.zanata.i18n.Messages;
import org.zanata.model.HLocale;
import org.zanata.model.HProject;
Solution content
import org.zanata.common.ProjectType;
import org.zanata.dao.ProjectDAO;
import org.zanata.dao.ProjectIterationDAO;
import org.zanata.dao.LocaleDAO;
import org.zanata.events.ProjectIterationUpdate;
import org.zanata.i18n.Messages;
import org.zanata.model.HLocale;
import org.zanata.model.HProject;
File
VersionHome.java
Developer's decision
Concatenation
Kind of conflict
Import
Chunk
Conflicting content
import org.zanata.service.SlugEntityService;
import org.zanata.service.ValidationService;
import org.zanata.service.impl.LocaleServiceImpl;
<<<<<<< HEAD
import org.zanata.ui.autocomplete.LocaleAutocomplete;
import org.zanata.ui.faces.FacesMessages;
=======
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
import org.zanata.util.ComparatorUtil;
import org.zanata.util.Event;
import org.zanata.util.ServiceLocator;
Solution content
import org.zanata.service.SlugEntityService;
import org.zanata.service.ValidationService;
import org.zanata.service.impl.LocaleServiceImpl;
import org.zanata.ui.faces.FacesMessages;
import org.zanata.util.ComparatorUtil;
import org.zanata.util.Event;
import org.zanata.util.ServiceLocator;
File
VersionHome.java
Developer's decision
Combination
Kind of conflict
Import
Chunk
Conflicting content
    @Getter
    private String selectedProjectType;

<<<<<<< HEAD
    private VersionLocaleAutocomplete localeAutocomplete;

=======
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
    @Getter
    @Setter
    private boolean copyFromVersion = true;
Solution content
    @Getter
    private String selectedProjectType;

    @Getter
    @Setter
    private boolean copyFromVersion = true;
File
VersionHome.java
Developer's decision
Version 2
Kind of conflict
Attribute
Chunk
Conflicting content
        return state;
    }

<<<<<<< HEAD
    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void removeLanguage(LocaleId localeId) {
        HLocale locale = localeServiceImpl.getByLocaleId(localeId);
        getInstance().getCustomizedLocales().remove(locale);

        update();
        conversationScopeMessages.setMessage(FacesMessage.SEVERITY_INFO,
                msgs.format("jsf.iteration.LanguageRemoved",
                        locale.retrieveDisplayName()));
=======
    @Override
    protected void updatedMessage() {
        // Disable the default message from Seam
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
Solution content
        return state;
    }

    @Override
    protected void updatedMessage() {
        // Disable the default message from Seam
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
File
VersionHome.java
Developer's decision
Version 2
Kind of conflict
Annotation
Comment
Method invocation
Method signature
Variable
Chunk
Conflicting content
        }
    }

<<<<<<< HEAD
    @AllArgsConstructor
    private class VersionLocaleAutocomplete extends LocaleAutocomplete {
        private String projectSlug, versionSlug;


        @Override
        protected Collection getLocales() {
            if (StringUtils.isNotEmpty(projectSlug)
                    && StringUtils.isNotEmpty(versionSlug)) {
                LocaleService localeService =
                        ServiceLocator.instance().getInstance(
                                LocaleServiceImpl.class);
                return localeService
                        .getSupportedLanguageByProjectIteration(projectSlug,
                                slug);
=======
    public List getProjectTypeList() {
        List projectTypes = Arrays.asList(ProjectType.values());
        Collections.sort(projectTypes, ComparatorUtil.PROJECT_TYPE_COMPARATOR);
        return projectTypes;
    }

    public boolean isOverrideLocales() {
        return getInstance().isOverrideLocales();
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void setOverrideLocales(boolean overrideLocales) {
        getInstance().setOverrideLocales(overrideLocales);
    }

    public Map getLocaleAliases() {
        return LocaleServiceImpl.getLocaleAliasesByIteration(getInstance());
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void removeAllLocaleAliases() {
        List removed = new ArrayList<>();
        List aliasedLocales =
            new ArrayList<>(getLocaleAliases().keySet());
        if (!aliasedLocales.isEmpty()) {
            ensureOverridingLocales();
            for (LocaleId aliasedLocale : aliasedLocales) {
                boolean hadAlias = removeAliasSilently(aliasedLocale);
                if (hadAlias) {
                    removed.add(aliasedLocale);
                }
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
            }
        }
        // else no locales to remove, nothing to do.
Solution content
        }
    }

    public List getProjectTypeList() {
        List projectTypes = Arrays.asList(ProjectType.values());
        Collections.sort(projectTypes, ComparatorUtil.PROJECT_TYPE_COMPARATOR);
        return projectTypes;
    }

    public boolean isOverrideLocales() {
        return getInstance().isOverrideLocales();
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void setOverrideLocales(boolean overrideLocales) {
        getInstance().setOverrideLocales(overrideLocales);
    }

    public Map getLocaleAliases() {
        return LocaleServiceImpl.getLocaleAliasesByIteration(getInstance());
    }

    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void removeAllLocaleAliases() {
        List removed = new ArrayList<>();
        List aliasedLocales =
            new ArrayList<>(getLocaleAliases().keySet());
        if (!aliasedLocales.isEmpty()) {
            ensureOverridingLocales();
            for (LocaleId aliasedLocale : aliasedLocales) {
                boolean hadAlias = removeAliasSilently(aliasedLocale);
                if (hadAlias) {
                    removed.add(aliasedLocale);
                }
            }
        }
        // else no locales to remove, nothing to do.
File
VersionHome.java
Developer's decision
Version 2
Kind of conflict
Annotation
Attribute
Class signature
If statement
Method declaration
Method invocation
Method signature
Return statement
Variable
Chunk
Conflicting content
                    removed.add(entry.getKey());
                }
            }
<<<<<<< HEAD
            LocaleService localeService =
                    ServiceLocator.instance().getInstance(
                            LocaleServiceImpl.class);
            ProjectIterationDAO versionDAO =
                    ServiceLocator.instance().getInstance(
                            ProjectIterationDAO.class);
            FacesMessages messages =
                    ServiceLocator.instance().getInstance(
                        FacesMessages.class);

            HLocale locale = localeService.getByLocaleId(getSelectedItem());

            HProjectIteration version =
                versionDAO.getBySlug(projectSlug, versionSlug);

            version.getCustomizedLocales().add(locale);
            versionDAO.makePersistent(version);
            reset();
            messages.addGlobal(FacesMessage.SEVERITY_INFO,
                    msgs.format("jsf.iteration.LanguageAdded",
                            locale.retrieveDisplayName()));
=======
        }
        showRemovedAliasesMessage(removed);
    }

    /**
     * Show an appropriate message for the removal of aliases from locales
     * with the given IDs.
     *
     * @param removed ids of locales that had aliases removed
     */
    private void showRemovedAliasesMessage(List removed) {
        if (removed.isEmpty()) {
            FacesMessages.instance().add(StatusMessage.Severity.INFO,
                    msgs.get("jsf.LocaleAlias.NoAliasesToRemove"));
        } else if (removed.size() == 1) {
            FacesMessages.instance().add(StatusMessage.Severity.INFO,
                    msgs.format("jsf.LocaleAlias.AliasRemoved", removed.get(0)));
        } else {
            FacesMessages.instance().add(StatusMessage.Severity.INFO,
                    msgs.format("jsf.LocaleAlias.AliasesRemoved", StringUtils.join(removed, ", ")));
        }
    }

    private boolean removeAliasSilently(LocaleId localeId) {
        return setLocaleAliasSilently(localeId, "");
    }

    public String getLocaleAlias(HLocale locale) {
        return getLocaleAliases().get(locale.getLocaleId());
    }

    public boolean hasLocaleAlias(HLocale locale) {
        return getLocaleAliases().containsKey(locale.getLocaleId());
    }

    /**
     * A separate map is used, rather than binding the alias map from the
     * project directly. This is done so that empty values are not added to the
     * map in every form submission, and so that a value entered in the field
     * for a row is not automatically updated when a different row is submitted.
     */
    @Getter
    @Setter
    private Map enteredLocaleAliases = Maps.newHashMap();


    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void updateToEnteredLocaleAlias(LocaleId localeId) {
        String enteredAlias = enteredLocaleAliases.get(localeId);
        setLocaleAlias(localeId, enteredAlias);
    }

    private void setLocaleAlias(LocaleId localeId, String alias) {
        boolean hadAlias = setLocaleAliasSilently(localeId, alias);

        if (isNullOrEmpty(alias)) {
            if (hadAlias) {
                FacesMessages.instance().add(StatusMessage.Severity.INFO,
                    msgs.format("jsf.LocaleAlias.AliasRemoved", localeId));
            } else {
                FacesMessages.instance().add(StatusMessage.Severity.INFO,
                    msgs.format("jsf.LocaleAlias.NoAliasToRemove", localeId));
            }
        } else {
            FacesMessages.instance().add(StatusMessage.Severity.INFO,
                msgs.format("jsf.LocaleAlias.AliasSet", localeId, alias));
>>>>>>> d97eee2537bf1010e46fd21a3c41086fabb63565
        }
    }
Solution content
                    removed.add(entry.getKey());
                }
            }
        }
        showRemovedAliasesMessage(removed);
    }

    /**
     * Show an appropriate message for the removal of aliases from locales
     * with the given IDs.
     *
     * @param removed ids of locales that had aliases removed
     */
    private void showRemovedAliasesMessage(List removed) {
        if (removed.isEmpty()) {
            facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                    msgs.get("jsf.LocaleAlias.NoAliasesToRemove"));
        } else if (removed.size() == 1) {
            facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                    msgs.format("jsf.LocaleAlias.AliasRemoved", removed.get(0)));
        } else {
            facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                    msgs.format("jsf.LocaleAlias.AliasesRemoved",
                            StringUtils.join(removed, ", ")));
        }
    }

    private boolean removeAliasSilently(LocaleId localeId) {
        return setLocaleAliasSilently(localeId, "");
    }

    public String getLocaleAlias(HLocale locale) {
        return getLocaleAliases().get(locale.getLocaleId());
    }

    public boolean hasLocaleAlias(HLocale locale) {
        return getLocaleAliases().containsKey(locale.getLocaleId());
    }

    /**
     * A separate map is used, rather than binding the alias map from the
     * project directly. This is done so that empty values are not added to the
     * map in every form submission, and so that a value entered in the field
     * for a row is not automatically updated when a different row is submitted.
     */
    @Getter
    @Setter
    private Map enteredLocaleAliases = Maps.newHashMap();


    @Restrict("#{s:hasPermission(versionHome.instance, 'update')}")
    public void updateToEnteredLocaleAlias(LocaleId localeId) {
        String enteredAlias = enteredLocaleAliases.get(localeId);
        setLocaleAlias(localeId, enteredAlias);
    }

    private void setLocaleAlias(LocaleId localeId, String alias) {
        boolean hadAlias = setLocaleAliasSilently(localeId, alias);

        if (isNullOrEmpty(alias)) {
            if (hadAlias) {
                facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                        msgs.format("jsf.LocaleAlias.AliasRemoved", localeId));
            } else {
                facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                        msgs.format("jsf.LocaleAlias.NoAliasToRemove", localeId));
            }
        } else {
            facesMessages.addGlobal(FacesMessage.SEVERITY_INFO,
                    msgs.format("jsf.LocaleAlias.AliasSet", localeId, alias));
        }
    }
File
VersionHome.java
Developer's decision
Manual
Kind of conflict
Annotation
Attribute
Comment
If statement
Method declaration
Method invocation
Method signature
Variable