Skip to content

Commit

Permalink
Removing references to old condensed field titles (so all tests use l…
Browse files Browse the repository at this point in the history
…ong ones)
  • Loading branch information
cowtowncoder committed Jun 26, 2011
1 parent fe1765c commit 9761773
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 233 deletions.
31 changes: 18 additions & 13 deletions tpc/src/data/media/FieldMapping.java
Expand Up @@ -5,45 +5,49 @@
public final class FieldMapping
{
public final static int FIELD_IX_MEDIA = 1;
public final static String FIELD_NAME_MEDIA = "md";
public final static String FULL_FIELD_NAME_MEDIA = "media";
public final static int FIELD_IX_IMAGES = 2;
public final static String FIELD_NAME_IMAGES = "im";
public final static String FULL_FIELD_NAME_IMAGES = "images";
public final static int FIELD_IX_PLAYER = 3;
public final static String FIELD_NAME_PLAYER = "pl";
public final static String FULL_FIELD_NAME_PLAYER = "player";
public final static int FIELD_IX_URI = 4;
public final static String FIELD_NAME_URI = "ul";
public final static String FULL_FIELD_NAME_URI = "uri";
public final static int FIELD_IX_TITLE = 5;
public final static String FIELD_NAME_TITLE = "tl";
public final static String FULL_FIELD_NAME_TITLE = "title";
public final static int FIELD_IX_WIDTH = 6;
public final static String FIELD_NAME_WIDTH = "wd";
public final static String FULL_FIELD_NAME_WIDTH = "width";
public final static int FIELD_IX_HEIGHT = 7;
public final static String FIELD_NAME_HEIGHT = "hg";
public final static String FULL_FIELD_NAME_HEIGHT = "height";
public final static int FIELD_IX_FORMAT = 8;
public final static String FIELD_NAME_FORMAT = "fr";
public final static String FULL_FIELD_NAME_FORMAT = "format";
public final static int FIELD_IX_DURATION = 9;
public final static String FIELD_NAME_DURATION = "dr";
public final static String FULL_FIELD_NAME_DURATION = "duration";
public final static int FIELD_IX_SIZE = 10;
public final static String FIELD_NAME_SIZE = "sz";
public final static String FULL_FIELD_NAME_SIZE = "size";
public final static int FIELD_IX_BITRATE = 11;
public final static String FIELD_NAME_BITRATE = "br";
public final static String FULL_FIELD_NAME_BITRATE = "bitrate";
public final static int FIELD_IX_PERSONS = 12;
public final static String FIELD_NAME_PERSONS = "pr";
public final static String FULL_FIELD_NAME_PERSONS = "persons";
public final static int FIELD_IX_COPYRIGHT = 13;
public final static String FIELD_NAME_COPYRIGHT = "cp";
public final static String FULL_FIELD_NAME_COPYRIGHT = "copyright";

// 25-Jun-2011, tatu: Some earlier tests used minimal names; not in use any more
/*
// public final static String FIELD_NAME_MEDIA = "md";
// public final static String FIELD_NAME_IMAGES = "im";
// public final static String FIELD_NAME_PLAYER = "pl";
// public final static String FIELD_NAME_URI = "ul";
// public final static String FIELD_NAME_TITLE = "tl";
// public final static String FIELD_NAME_WIDTH = "wd";
// public final static String FIELD_NAME_HEIGHT = "hg";
// public final static String FIELD_NAME_FORMAT = "fr";
// public final static String FIELD_NAME_DURATION = "dr";
// public final static String FIELD_NAME_SIZE = "sz";
// public final static String FIELD_NAME_BITRATE = "br";
// public final static String FIELD_NAME_PERSONS = "pr";
// public final static String FIELD_NAME_COPYRIGHT = "cp";
public static final HashMap<String,Integer> fieldToIndex = new HashMap<String,Integer>();
static {
fieldToIndex.put(FIELD_NAME_MEDIA, FIELD_IX_MEDIA);
Expand All @@ -60,6 +64,7 @@ public final class FieldMapping
fieldToIndex.put(FIELD_NAME_PERSONS, FIELD_IX_PERSONS);
fieldToIndex.put(FIELD_NAME_COPYRIGHT, FIELD_IX_COPYRIGHT);
}
*/

public static final HashMap<String,Integer> fullFieldToIndex = new HashMap<String,Integer>();
static {
Expand Down
3 changes: 2 additions & 1 deletion tpc/src/data/media/Media.java
Expand Up @@ -101,7 +101,8 @@ public String toString () {
sb.append(", format=").append(repr(format));
sb.append(", duration=").append(duration);
sb.append(", size=").append(size);
sb.append(", bitrate=").append(hasBitrate ? Integer.toString(bitrate) : "?");
sb.append(", hasBitrate=").append(hasBitrate);
sb.append(", bitrate=").append(String.valueOf(bitrate));
sb.append(", persons=").append(repr(persons));
sb.append(", player=").append(player);
sb.append(", copyright=").append(copyright);
Expand Down
64 changes: 32 additions & 32 deletions tpc/src/serializers/JavolutionXml.java
Expand Up @@ -197,8 +197,8 @@ public void read(javolution.xml.XMLFormat.InputElement arg0, MediaContent arg1)
{
{
setAlias(MediaContent.class, ROOT_ELEMENT);
setAlias(Image.class, FIELD_NAME_IMAGES);
setAlias(Media.class, FIELD_NAME_MEDIA);
setAlias(Image.class, FULL_FIELD_NAME_IMAGES);
setAlias(Media.class, FULL_FIELD_NAME_MEDIA);
setAlias(String.class, "str");
}

Expand Down Expand Up @@ -226,21 +226,21 @@ public XMLFormat getFormat(Class cls) throws XMLStreamException
@Override
public void write(Image image, XMLFormat.OutputElement xml) throws XMLStreamException
{
xml.setAttribute(FIELD_NAME_URI, image.uri);
xml.setAttribute(FIELD_NAME_TITLE, image.title);
xml.setAttribute(FIELD_NAME_WIDTH, image.width);
xml.setAttribute(FIELD_NAME_HEIGHT, image.height);
xml.setAttribute(FIELD_NAME_SIZE, image.size.ordinal());
xml.setAttribute(FULL_FIELD_NAME_URI, image.uri);
xml.setAttribute(FULL_FIELD_NAME_TITLE, image.title);
xml.setAttribute(FULL_FIELD_NAME_WIDTH, image.width);
xml.setAttribute(FULL_FIELD_NAME_HEIGHT, image.height);
xml.setAttribute(FULL_FIELD_NAME_SIZE, image.size.ordinal());
}

@Override
public void read(XMLFormat.InputElement xml, Image image) throws XMLStreamException
{
image.uri = xml.getAttribute(FIELD_NAME_URI).toString();
image.title = xml.getAttribute(FIELD_NAME_TITLE, (String) null);
image.width = xml.getAttribute(FIELD_NAME_WIDTH).toInt();
image.height = xml.getAttribute(FIELD_NAME_HEIGHT).toInt();
image.size = Image.Size.values()[xml.getAttribute(FIELD_NAME_SIZE, 0)];
image.uri = xml.getAttribute(FULL_FIELD_NAME_URI).toString();
image.title = xml.getAttribute(FULL_FIELD_NAME_TITLE, (String) null);
image.width = xml.getAttribute(FULL_FIELD_NAME_WIDTH).toInt();
image.height = xml.getAttribute(FULL_FIELD_NAME_HEIGHT).toInt();
image.size = Image.Size.values()[xml.getAttribute(FULL_FIELD_NAME_SIZE, 0)];
}
};

Expand All @@ -249,16 +249,16 @@ public void read(XMLFormat.InputElement xml, Image image) throws XMLStreamExcept
@Override
public void write(Media media, XMLFormat.OutputElement xml) throws XMLStreamException
{
xml.setAttribute(FIELD_NAME_URI, media.uri);
xml.setAttribute(FIELD_NAME_TITLE, media.title);
xml.setAttribute(FIELD_NAME_WIDTH, media.width);
xml.setAttribute(FIELD_NAME_HEIGHT, media.height);
xml.setAttribute(FIELD_NAME_FORMAT, media.format);
xml.setAttribute(FIELD_NAME_DURATION, media.duration);
xml.setAttribute(FIELD_NAME_SIZE, media.size);
if (media.hasBitrate) xml.setAttribute(FIELD_NAME_BITRATE, media.bitrate);
xml.setAttribute(FIELD_NAME_PLAYER, media.player.ordinal());
xml.setAttribute(FIELD_NAME_COPYRIGHT, media.copyright);
xml.setAttribute(FULL_FIELD_NAME_URI, media.uri);
xml.setAttribute(FULL_FIELD_NAME_TITLE, media.title);
xml.setAttribute(FULL_FIELD_NAME_WIDTH, media.width);
xml.setAttribute(FULL_FIELD_NAME_HEIGHT, media.height);
xml.setAttribute(FULL_FIELD_NAME_FORMAT, media.format);
xml.setAttribute(FULL_FIELD_NAME_DURATION, media.duration);
xml.setAttribute(FULL_FIELD_NAME_SIZE, media.size);
if (media.hasBitrate) xml.setAttribute(FULL_FIELD_NAME_BITRATE, media.bitrate);
xml.setAttribute(FULL_FIELD_NAME_PLAYER, media.player.ordinal());
xml.setAttribute(FULL_FIELD_NAME_COPYRIGHT, media.copyright);

for (String p : media.persons) {
xml.add(p);
Expand All @@ -268,18 +268,18 @@ public void write(Media media, XMLFormat.OutputElement xml) throws XMLStreamExce
@Override
public void read(XMLFormat.InputElement xml, Media media) throws XMLStreamException
{
media.uri = xml.getAttribute(FIELD_NAME_URI).toString();
media.title = xml.getAttribute(FIELD_NAME_TITLE, (String) null);
media.width = xml.getAttribute(FIELD_NAME_WIDTH).toInt();
media.height = xml.getAttribute(FIELD_NAME_HEIGHT).toInt();
media.format = xml.getAttribute(FIELD_NAME_FORMAT).toString();
media.duration = xml.getAttribute(FIELD_NAME_DURATION).toLong();
media.size = xml.getAttribute(FIELD_NAME_SIZE).toLong();
CharArray caBitrate = xml.getAttribute(FIELD_NAME_BITRATE);
media.uri = xml.getAttribute(FULL_FIELD_NAME_URI).toString();
media.title = xml.getAttribute(FULL_FIELD_NAME_TITLE, (String) null);
media.width = xml.getAttribute(FULL_FIELD_NAME_WIDTH).toInt();
media.height = xml.getAttribute(FULL_FIELD_NAME_HEIGHT).toInt();
media.format = xml.getAttribute(FULL_FIELD_NAME_FORMAT).toString();
media.duration = xml.getAttribute(FULL_FIELD_NAME_DURATION).toLong();
media.size = xml.getAttribute(FULL_FIELD_NAME_SIZE).toLong();
CharArray caBitrate = xml.getAttribute(FULL_FIELD_NAME_BITRATE);
media.hasBitrate = (caBitrate != null);
if (caBitrate != null) media.bitrate = caBitrate.toInt();
media.player = Media.Player.values()[xml.getAttribute(FIELD_NAME_PLAYER, 0)];
media.copyright = xml.getAttribute(FIELD_NAME_COPYRIGHT, (String) null);
media.player = Media.Player.values()[xml.getAttribute(FULL_FIELD_NAME_PLAYER, 0)];
media.copyright = xml.getAttribute(FULL_FIELD_NAME_COPYRIGHT, (String) null);

List<String> persons = new ArrayList<String>();
while (xml.hasNext()) {
Expand Down
176 changes: 0 additions & 176 deletions tpc/src/serializers/Stax.java
Expand Up @@ -233,180 +233,4 @@ private void writeMedia (XMLStreamWriter writer, Media media) throws XMLStreamEx
writer.writeEndElement();
}
}

public static final class MediaSerializerAbbreviated extends Serializer<MediaContent>
{
private final Handler handler;

public String getName() { return "xml/manual-abbrev-"+handler.name; }

public MediaSerializerAbbreviated(Handler handler)
{
this.handler = handler;
}

// Deserialization

public MediaContent deserialize (byte[] array) throws Exception
{
XMLStreamReader parser = handler.inFactory.createXMLStreamReader(new ByteArrayInputStream(array));
searchTag(parser, "mc");
Media media = readMedia(parser);
List<Image> images = new ArrayList<Image>();
if (parser.nextTag() != XMLStreamConstants.START_ELEMENT) {
throw new IllegalStateException("Expected <im>, no START_ELEMENT encountered but "+parser.getEventType());
}
do {
if (!FIELD_NAME_IMAGES.equals(parser.getLocalName())) {
throw new IllegalStateException("Expected <"+FIELD_NAME_IMAGES+">, got <"+parser.getLocalName()+">");
}
images.add(readImage(parser));
} while (parser.nextTag() == XMLStreamConstants.START_ELEMENT);
// and should have closing </mc> at this point
if (!"mc".equals(parser.getLocalName())) {
throw new IllegalStateException("Expected closing </mc>, got </"+parser.getLocalName()+">");
}
parser.close();
return new MediaContent(media, images);
}

private Image readImage (XMLStreamReader parser) throws Exception
{
Image image = new Image();
image.uri = readElement(parser, FIELD_NAME_URI);
image.title = readElement(parser, FIELD_NAME_TITLE);
image.width = Integer.parseInt(readElement(parser, FIELD_NAME_WIDTH));
image.height = Integer.parseInt(readElement(parser, FIELD_NAME_HEIGHT));
image.size = Image.Size.valueOf(readElement(parser, FIELD_NAME_SIZE));
// need to match close tag
if (parser.nextTag() != XMLStreamConstants.END_ELEMENT) {
throw new IllegalStateException("Expected closing </"+FIELD_NAME_IMAGES+">");
}
return image;
}

private Media readMedia (XMLStreamReader parser) throws Exception
{
Media media = new Media();
media.player = Media.Player.valueOf(readElement(parser, FIELD_NAME_PLAYER));
media.uri = readElement(parser, FIELD_NAME_URI);
media.title = readElementMaybe(parser, FIELD_NAME_TITLE);
media.width = Integer.parseInt(readElement(parser, FIELD_NAME_WIDTH));
media.height = Integer.parseInt(readElement(parser, FIELD_NAME_HEIGHT));
media.format = readElement(parser, FIELD_NAME_FORMAT);
media.duration = Long.parseLong(readElement(parser, FIELD_NAME_DURATION));
media.size = Long.parseLong(readElement(parser, FIELD_NAME_SIZE));
String bitrateString = readElement(parser, FIELD_NAME_BITRATE);
if (bitrateString != null) {
media.hasBitrate = true;
media.bitrate = Integer.parseInt(bitrateString);
}
media.copyright = readElementMaybe(parser, FIELD_NAME_COPYRIGHT);

searchTag(parser, FIELD_NAME_PERSONS);
List<String> persons = new ArrayList<String>();
do {
persons.add(parser.getElementText());
} while (parser.nextTag() == XMLStreamConstants.START_ELEMENT
&& FIELD_NAME_PERSONS.equals(parser.getLocalName()));
if (!FIELD_NAME_MEDIA.equals(parser.getLocalName())) {
throw new IllegalStateException("Expected closing </"+FIELD_NAME_MEDIA+">, got </"+parser.getLocalName()+">");
}
media.persons = persons;
return media;
}

private String readElementMaybe(XMLStreamReader parser, String string) throws XMLStreamException
{
if (parser.getEventType() != XMLStreamConstants.START_ELEMENT) {
while (parser.next() != XMLStreamConstants.START_ELEMENT) { }
}
return (parser.getLocalName().equals(string)) ? parser.getElementText() : null;
}

private String readElement(XMLStreamReader parser, String string) throws XMLStreamException
{
// If not at START_ELEMENT, find one (usually called when at END_ELEMENT)
if (parser.getEventType() != XMLStreamConstants.START_ELEMENT) {
while (parser.next() != XMLStreamConstants.START_ELEMENT) { }
}
while (true) {
if (parser.getLocalName().equals(string)) {
return parser.getElementText();
}
while (parser.next() != XMLStreamConstants.START_ELEMENT) { }
}
}

private void searchTag(XMLStreamReader parser, String string) throws XMLStreamException
{
// may already be located at the start element
if (parser.getEventType() == XMLStreamConstants.START_ELEMENT
&& parser.getLocalName().equals(string)) {
return;
}
while (true) {
if (parser.nextTag() == XMLStreamConstants.START_ELEMENT
&& parser.getLocalName().equals(string)) {
return;
}
}
}

// Serialization

public byte[] serialize(MediaContent content) throws Exception
{
ByteArrayOutputStream baos = outputStream(content);
XMLStreamWriter writer = handler.outFactory.createXMLStreamWriter(baos, "UTF-8");
writer.writeStartDocument("UTF-8", "1.0");
writer.writeStartElement("mc");
writeMedia(writer, content.media);
for (Image image : content.images) {
writeImage(writer, image);
}
writer.writeEndElement();
writer.writeEndDocument();
writer.flush();
writer.close();
return baos.toByteArray();
}

private void writeImage (XMLStreamWriter writer, Image image) throws XMLStreamException
{
writer.writeStartElement(FIELD_NAME_IMAGES);
writeElement(writer, FIELD_NAME_URI, image.uri);
if (image.title != null) writeElement(writer, FIELD_NAME_TITLE, image.title);
writeElement(writer, FIELD_NAME_WIDTH, String.valueOf(image.width));
writeElement(writer, FIELD_NAME_HEIGHT, String.valueOf(image.height));
writeElement(writer, FIELD_NAME_SIZE, image.size.name());
writer.writeEndElement();
}

private void writeElement(XMLStreamWriter writer, String name, String value) throws XMLStreamException
{
writer.writeStartElement(name);
writer.writeCharacters(value);
writer.writeEndElement();
}

private void writeMedia (XMLStreamWriter writer, Media media) throws XMLStreamException
{
writer.writeStartElement(FIELD_NAME_MEDIA);
writeElement(writer, FIELD_NAME_PLAYER, media.player.name());
writeElement(writer, FIELD_NAME_URI, media.uri);
if (media.title != null) writeElement(writer, FIELD_NAME_TITLE, media.title);
writeElement(writer, FIELD_NAME_WIDTH, String.valueOf(media.width));
writeElement(writer, FIELD_NAME_HEIGHT, String.valueOf(media.height));
writeElement(writer, FIELD_NAME_FORMAT, media.format);
writeElement(writer, FIELD_NAME_DURATION, String.valueOf(media.duration));
writeElement(writer, FIELD_NAME_SIZE, String.valueOf(media.size));
if (media.hasBitrate) writeElement(writer, FIELD_NAME_BITRATE, String.valueOf(media.bitrate));
if (media.copyright != null) writeElement(writer, FIELD_NAME_COPYRIGHT, media.copyright);
for (String person : media.persons) {
writeElement(writer, FIELD_NAME_PERSONS, person);
}
writer.writeEndElement();
}
}
}
14 changes: 7 additions & 7 deletions tpc/src/serializers/java/Image.java
Expand Up @@ -5,6 +5,8 @@
import com.twolattes.json.Entity;
import com.twolattes.json.Value;

import data.media.FieldMapping;

@Entity
public class Image implements Serializable
{
Expand All @@ -15,15 +17,13 @@ public enum Size
SMALL, LARGE
}

// Note: field names must match FIELD_NAME_xxx
private @Value(name = "ul") String _uri;
private @Value(name = "tl") String _title;
private @Value(name = "wd") int _width;
private @Value(name = "hg") int _height;
private @Value(name = "sz", ordinal = true) Size _size;
private @Value(name=FieldMapping.FULL_FIELD_NAME_URI) String _uri;
private @Value(name=FieldMapping.FULL_FIELD_NAME_TITLE) String _title;
private @Value(name=FieldMapping.FULL_FIELD_NAME_WIDTH) int _width;
private @Value(name=FieldMapping.FULL_FIELD_NAME_HEIGHT) int _height;
private @Value(name=FieldMapping.FULL_FIELD_NAME_SIZE, ordinal = true) Size _size;

public Image(){}


public Image (int height, String title, String uri, int width, Size size)
{
Expand Down

0 comments on commit 9761773

Please sign in to comment.