Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
rhbz960786 Use same strategy whether exporting one or all locales to TMX
Browse files Browse the repository at this point in the history
  • Loading branch information
seanf committed May 30, 2013
1 parent 6fcd4f1 commit fb114f8
Show file tree
Hide file tree
Showing 12 changed files with 159 additions and 223 deletions.
6 changes: 3 additions & 3 deletions zanata-model/src/main/java/org/zanata/model/HDocument.java
Expand Up @@ -63,6 +63,8 @@
import org.zanata.rest.dto.resource.ResourceMeta;
import org.zanata.rest.dto.resource.TranslationsResource;

import com.google.common.collect.ImmutableList;

import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
Expand Down Expand Up @@ -255,14 +257,12 @@ public List<HTextFlow> getTextFlows()
textFlows = new ArrayList<HTextFlow>();
}
return textFlows;
// return ImmutableList.copyOf(textFlows);
}

@Override
public Iterator<SourceContents> iterator()
{
return new ArrayList<SourceContents>(getTextFlows()).iterator();
// return ImmutableList.copyOf(getTextFlows());
return ImmutableList.<SourceContents>copyOf(getTextFlows()).iterator();
}

public boolean isObsolete()
Expand Down
8 changes: 5 additions & 3 deletions zanata-model/src/main/java/org/zanata/model/HLocale.java
Expand Up @@ -24,6 +24,7 @@
import java.util.HashSet;
import java.util.Set;

import javax.annotation.Nonnull;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
Expand Down Expand Up @@ -57,23 +58,24 @@
public class HLocale extends ModelEntityBase implements Serializable
{
private static final long serialVersionUID = 1L;
private LocaleId localeId;
private @Nonnull LocaleId localeId;
private boolean active;
private boolean enabledByDefault;
private Set<HProject> supportedProjects;
private Set<HProjectIteration> supportedIterations;
private Set<HLocaleMember> members;

public HLocale(LocaleId localeId)
public HLocale(@Nonnull LocaleId localeId)
{
this.localeId = localeId;
}

// TODO PERF @NaturalId(mutable=false) for better criteria caching
@SuppressWarnings("null")
@NaturalId
@NotNull
@Type(type = "localeId")
public LocaleId getLocaleId()
public @Nonnull LocaleId getLocaleId()
{
return localeId;
}
Expand Down
6 changes: 1 addition & 5 deletions zanata-model/src/main/java/org/zanata/model/HTextFlow.java
Expand Up @@ -408,6 +408,7 @@ public Map<Long, HTextFlowTarget> getTargets()
@Override
public TargetContents getTargetContents(LocaleId localeId)
{
// TODO performance: need efficient way to look up a target by LocaleId
Collection<HTextFlowTarget> targets = getTargets().values();
for (HTextFlowTarget tft : targets)
{
Expand All @@ -422,11 +423,6 @@ public Iterable<TargetContents> getAllTargetContents()
{
return ImmutableList.<TargetContents>copyOf(getTargets().values());
}
// @Override
// public Map<Long, ITextFlowTarget> getITargets()
// {
// return new HashMap<Long, ITextFlowTarget>(getTargets());
// }

@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, optional = true)
public HPotEntryData getPotEntryData()
Expand Down
12 changes: 7 additions & 5 deletions zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java
Expand Up @@ -27,6 +27,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Nonnull;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
Expand Down Expand Up @@ -90,7 +92,7 @@ public class HTextFlowTarget extends ModelEntityBase implements HasContents, Has
private static final long serialVersionUID = 302308010797605435L;

private HTextFlow textFlow;
private HLocale locale;
private @Nonnull HLocale locale;

private String content0;
private String content1;
Expand Down Expand Up @@ -118,7 +120,7 @@ public class HTextFlowTarget extends ModelEntityBase implements HasContents, Has
@Setter(AccessLevel.PRIVATE)
private HTextFlowTargetHistory initialState;

public HTextFlowTarget(HTextFlow textFlow, HLocale locale)
public HTextFlowTarget(HTextFlow textFlow, @Nonnull HLocale locale)
{
this.locale = locale;
this.textFlow = textFlow;
Expand All @@ -131,13 +133,13 @@ public HTextFlowTarget(HTextFlow textFlow, HLocale locale)
@JoinColumn(name = "locale", nullable = false)
@Field(index = Index.UN_TOKENIZED)
@FieldBridge(impl = LocaleIdBridge.class)
public HLocale getLocale()
public @Nonnull HLocale getLocale()
{
return locale;
}

@Override
public LocaleId getLocaleId()
public @Nonnull LocaleId getLocaleId()
{
return locale.getLocaleId();
}
Expand All @@ -146,7 +148,7 @@ public LocaleId getLocaleId()
@Field(index = Index.UN_TOKENIZED)
@FieldBridge(impl = ContentStateBridge.class)
@Override
public ContentState getState()
public @Nonnull ContentState getState()
{
return state;
}
Expand Down
10 changes: 10 additions & 0 deletions zanata-model/src/main/java/org/zanata/model/SourceContents.java
Expand Up @@ -31,6 +31,16 @@
public interface SourceContents extends HasContents
{
public String getResId();
/**
* Gets the TargetContents for a single locale.
* Note that default implementation in HTextFlow requires a lot of database I/O
* @param localeId
* @return
*/
public TargetContents getTargetContents(LocaleId localeId);
/**
* Gets the TargetContents for all available locales.
* @return
*/
public Iterable<TargetContents> getAllTargetContents();
}
Expand Up @@ -21,6 +21,8 @@

package org.zanata.model;

import javax.annotation.Nonnull;

import org.zanata.common.ContentState;
import org.zanata.common.HasContents;
import org.zanata.common.LocaleId;
Expand All @@ -31,6 +33,6 @@
*/
public interface TargetContents extends HasContents
{
public LocaleId getLocaleId();
public ContentState getState();
public @Nonnull LocaleId getLocaleId();
public @Nonnull ContentState getState();
}
9 changes: 4 additions & 5 deletions zanata-model/src/main/java/org/zanata/util/OkapiUtil.java
Expand Up @@ -20,6 +20,8 @@
*/
package org.zanata.util;

import javax.annotation.Nonnull;

import net.sf.okapi.common.LocaleId;
import net.sf.okapi.steps.tokenization.Tokenizer;
import net.sf.okapi.steps.tokenization.tokens.Tokens;
Expand All @@ -35,12 +37,9 @@ private OkapiUtil()
{
}

public static LocaleId toOkapiLocale(org.zanata.common.LocaleId zanataLocale)
@SuppressWarnings("null")
public static @Nonnull LocaleId toOkapiLocale(@Nonnull org.zanata.common.LocaleId zanataLocale)
{
if (zanataLocale == null)
{
return null;
}
return LocaleId.fromBCP47(zanataLocale.getId());
}

Expand Down

This file was deleted.

This file was deleted.

0 comments on commit fb114f8

Please sign in to comment.