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

Commit

Permalink
Merge branch 'master' into rhbz756235
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Dec 6, 2011
2 parents abc5343 + 32be8ba commit 6c4edac
Show file tree
Hide file tree
Showing 21 changed files with 137 additions and 52 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,16 @@
# Zanata change log summary

## zanata-1.4.3
* Show message context in editor info panel: https://bugzilla.redhat.com/show_bug.cgi?id=750690
* Update gwteventservice to 1.2.0-RC1
* Modify email templates to include server URL
* Fix problems with editor table when searching or switching pages: https://bugzilla.redhat.com/show_bug.cgi?id=751264
* Add failsafe editor in case of Seam Text problems: https://bugzilla.redhat.com/show_bug.cgi?id=727716
* Change string similarity algorithm so that only identical strings (not substrings) can get 100%: https://bugzilla.redhat.com/show_bug.cgi?id=730189
* Bugfix: 'J' and 'K' navigation keys trigger when entering text in the TM search box: https://bugzilla.redhat.com/show_bug.cgi?id=754637
* Bugfix: Not able to work in parallel on the same workbench: https://bugzilla.redhat.com/show_bug.cgi?id=756293
* Show progress during re-index operations; avoid timeout for large databases: https://bugzilla.redhat.com/show_bug.cgi?id=747836

## zanata-1.4.2
* Language team coordinator: https://bugzilla.redhat.com/show_bug.cgi?id=742083
* Users now have to ask before joining a language team
Expand Down
Expand Up @@ -6,7 +6,6 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
Expand All @@ -20,7 +19,6 @@
import org.zanata.rest.MediaTypes.Format;

@XmlType(name = "accountType")
@XmlRootElement(name = "account")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonPropertyOrder(
{"email", "name", "username", "password"})
Expand Down
Expand Up @@ -3,7 +3,10 @@
import java.io.StringWriter;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.namespace.QName;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -12,7 +15,8 @@ public class DTOUtil
{
private final static Logger log = LoggerFactory.getLogger(DTOUtil.class);

public static String toXML(Object obj)
@SuppressWarnings({ "unchecked" })
public static <T> String toXML(T obj)
{
try
{
Expand All @@ -22,7 +26,17 @@ public static String toXML(Object obj)
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.setProperty(Marshaller.JAXB_FRAGMENT, true);
StringWriter writer = new StringWriter();
m.marshal(obj, writer);

/* Marshal objects into a string differently depending on whether they are root elements
or not */
if( obj.getClass().getAnnotation(XmlRootElement.class) != null )
{
m.marshal(obj, writer);
}
else
{
m.marshal(new JAXBElement<T>(new QName( "", obj.getClass().getSimpleName() ), (Class<T>)obj.getClass(), obj), writer);
}
return writer.toString();
}
catch (Exception e)
Expand Down
Expand Up @@ -25,7 +25,6 @@
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
Expand Down Expand Up @@ -86,7 +85,7 @@ public void setTargetLocales(LocaleList targetLocales)
}

@XmlElementWrapper(name = "glossary-entries")
@XmlElementRef
@XmlElement(name = "glossary-entry")
public List<GlossaryEntry> getGlossaryEntries()
{
if (glossaryEntries == null)
Expand Down
Expand Up @@ -26,7 +26,6 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

Expand All @@ -40,7 +39,6 @@
* @author Alex Eng <a href="mailto:aeng@redhat.com">aeng@redhat.com</a>
*
**/
@XmlRootElement(name = "glossary-entry")
@XmlType(name = "glossaryEntryType", propOrder = { "sourcereference", "glossaryTerms" })
@JsonPropertyOrder({ "srcLang", "sourcereference", "glossaryTerms" })
@JsonIgnoreProperties(ignoreUnknown = true)
Expand Down
Expand Up @@ -26,7 +26,6 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

Expand All @@ -43,7 +42,6 @@
*
**/

@XmlRootElement(name = "glossary-term")
@XmlType(name = "glossaryTermType", propOrder = { "comments", "content" })
@JsonPropertyOrder({ "content", "comments", "locale" })
@JsonIgnoreProperties(ignoreUnknown = true)
Expand Down
Expand Up @@ -3,11 +3,9 @@
import java.net.URI;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlType(name = "linkType")
@XmlRootElement(name = "link")
public class Link
{

Expand Down
Expand Up @@ -4,11 +4,9 @@
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlType(name = "linksType", propOrder = {})
@XmlRootElement(name = "links")
public class Links extends ArrayList<Link>
{

Expand Down
Expand Up @@ -4,7 +4,6 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;
Expand All @@ -15,7 +14,6 @@
import org.hibernate.validator.NotNull;

@XmlType(name = "personType")
@XmlRootElement(name = "person")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonPropertyOrder( { "email", "name", "links" })
@JsonWriteNullProperties(false)
Expand Down
Expand Up @@ -109,7 +109,8 @@ public void setDescription(String description)
this.description = description;
}

@XmlElementRef(type = Link.class)
@XmlElementWrapper(name = "links")
@XmlElement(name = "link")
public Links getLinks()
{
return links;
Expand Down
Expand Up @@ -5,7 +5,6 @@
import java.util.List;

import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonValue;
Expand All @@ -18,7 +17,6 @@
*
*/
@XmlType(name = "projectListType", propOrder = { "projects" })
@XmlRootElement(name = "projects")
public class ProjectList implements Serializable, HasSample<ProjectList>
{

Expand Down
Expand Up @@ -2,7 +2,6 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonTypeName;
Expand All @@ -21,7 +20,6 @@
*
*/
@XmlType(name = "simpleCommentExtension", propOrder = {})
@XmlRootElement(name = "comment")
@JsonTypeName(value = "comment")
public class SimpleComment implements TextFlowExtension, TextFlowTargetExtension
{
Expand Down
@@ -1,27 +1,44 @@
package org.zanata.rest.dto.resource;

import java.util.HashSet;

import javax.xml.bind.annotation.XmlRootElement;
import java.util.AbstractCollection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.zanata.rest.dto.DTOUtil;
import org.zanata.rest.dto.ExtensionValue;


@XmlRootElement(name = "extension-set")
public class ExtensionSet<T extends ExtensionValue> extends HashSet<T>
public class ExtensionSet<T extends ExtensionValue> extends AbstractCollection<T>
{

private static final long serialVersionUID = 1L;

private Map<Class<?>, T> extensions = new LinkedHashMap<Class<?>, T>();

@Override
public Iterator<T> iterator()
{
return extensions.values().iterator();
}

@Override
public int size()
{
return extensions.size();
}

@Override
public boolean add(T e)
{
this.extensions.put(e.getClass(), e);
return true;
};

@SuppressWarnings("unchecked")
public <E extends T> E findByType(Class<E> clz)
{
for (T e : this)
{
if (clz.isInstance(e))
return (E) clz.cast(e);
}
return null;
return (E)this.extensions.get(clz);
}

@Override
Expand All @@ -47,5 +64,38 @@ public <E extends T> E findOrAddByType(Class<E> clz)
}
return ext;
}

@Override
public boolean equals(Object obj)
{
if( obj == null )
{
return false;
}
else if( !(obj instanceof ExtensionSet) )
{
return false;
}
else
{
@SuppressWarnings("rawtypes")
ExtensionSet other = (ExtensionSet)obj;

return new EqualsBuilder()
.append(this.extensions, other.extensions)
.isEquals();
}
}

@Override
public int hashCode()
{
HashCodeBuilder hcBuilder = new HashCodeBuilder(15, 67);
for( T t : this )
{
hcBuilder.append(t);
}
return hcBuilder.toHashCode();
}

}
Expand Up @@ -25,7 +25,6 @@
import java.util.List;
import java.util.ListIterator;

import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.zanata.rest.dto.DTOUtil;
Expand All @@ -35,7 +34,6 @@
* @author Alex Eng <a href="mailto:aeng@redhat.com">aeng@redhat.com</a>
*
**/
@XmlRootElement(name = "locales")
@XmlType(name = "localesType")
public class LocaleList implements List<String>
{
Expand Down
Expand Up @@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
Expand Down Expand Up @@ -34,7 +34,7 @@ public Resource(String name)
}

@XmlElementWrapper(name = "text-flows", required = false)
@XmlElementRef
@XmlElement(name = "text-flow")
public List<TextFlow> getTextFlows()
{
if (textFlows == null)
Expand Down
Expand Up @@ -5,7 +5,6 @@
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonValue;
Expand All @@ -21,7 +20,6 @@
*
*/
@XmlType(name = "resourcesListType", propOrder = { "resources" })
@XmlRootElement(name = "resources")
public class ResourceMetaList implements Serializable, HasSample<ResourceMetaList>
{

Expand Down
Expand Up @@ -5,7 +5,6 @@
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

Expand All @@ -24,7 +23,6 @@
import org.zanata.rest.dto.extensions.gettext.TextFlowExtension;

@XmlType(name = "textFlowType", propOrder = { "content", "extensions" })
@XmlRootElement(name = "text-flow")
@JsonPropertyOrder( { "id", "lang", "content", "extensions" })
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonWriteNullProperties(false)
Expand Down
Expand Up @@ -4,9 +4,7 @@

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import org.codehaus.jackson.annotate.JsonIgnore;
Expand All @@ -21,7 +19,6 @@
import org.zanata.rest.dto.extensions.gettext.TextFlowTargetExtension;

@XmlType(name = "textFlowTargetType", propOrder = { "description", "translator", "content", "extensions" })
@XmlRootElement(name = "text-flow-target")
@JsonPropertyOrder( { "resId", "state", "translator", "content", "extensions" })
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonWriteNullProperties(false)
Expand All @@ -47,7 +44,7 @@ public TextFlowTarget(String resId)
this.resId = resId;
}

@XmlElementRef
@XmlElement(name = "person")
public Person getTranslator()
{
return translator;
Expand Down

0 comments on commit 6c4edac

Please sign in to comment.