From: Kimmo R. <ki...@us...> - 2009-11-29 14:35:34
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/trade In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22992/src/games/stendhal/server/entity/trade Modified Files: Offer.java Log Message: save timestamp with offers Index: Offer.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/entity/trade/Offer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Offer.java 18 Nov 2009 09:38:37 -0000 1.5 --- Offer.java 29 Nov 2009 14:35:23 -0000 1.6 *************** *** 1,5 **** package games.stendhal.server.entity.trade; - import games.stendhal.server.core.engine.transformer.ItemTransformer; import games.stendhal.server.entity.PassiveEntity; --- 1,4 ---- *************** *** 15,19 **** public class Offer extends PassiveEntity { private static final Logger logger = Logger.getLogger(Offer.class); ! private static final String OFFERER_ATTRIBUTE_NAME = "offerer"; --- 14,18 ---- public class Offer extends PassiveEntity { private static final Logger logger = Logger.getLogger(Offer.class); ! private static final String OFFERER_ATTRIBUTE_NAME = "offerer"; *************** *** 21,31 **** public static final String OFFER_RPCLASS_NAME = "offer"; private Item item; ! private final Integer price; private final String offerer; ! public static void generateRPClass() { final RPClass offerRPClass = new RPClass(OFFER_RPCLASS_NAME); --- 20,31 ---- public static final String OFFER_RPCLASS_NAME = "offer"; + private static final String TIMESTAMP = "timestamp"; private Item item; ! private final Integer price; private final String offerer; ! public static void generateRPClass() { final RPClass offerRPClass = new RPClass(OFFER_RPCLASS_NAME); *************** *** 34,40 **** offerRPClass.addAttribute("class", Type.STRING); offerRPClass.addAttribute(OFFERER_ATTRIBUTE_NAME, Type.STRING); offerRPClass.addRPSlot(OFFER_ITEM_SLOT_NAME, 1); } ! /** * @param item --- 34,41 ---- offerRPClass.addAttribute("class", Type.STRING); offerRPClass.addAttribute(OFFERER_ATTRIBUTE_NAME, Type.STRING); + offerRPClass.addAttribute(TIMESTAMP, Type.STRING); offerRPClass.addRPSlot(OFFER_ITEM_SLOT_NAME, 1); } ! /** * @param item *************** *** 44,52 **** setRPClass("offer"); hide(); ! if (!this.hasSlot(OFFER_ITEM_SLOT_NAME)) { this.addSlot(OFFER_ITEM_SLOT_NAME); } if (item != null) { ! this.getSlot(OFFER_ITEM_SLOT_NAME).add(item); this.item = item; } --- 45,53 ---- setRPClass("offer"); hide(); ! if (!hasSlot(OFFER_ITEM_SLOT_NAME)) { this.addSlot(OFFER_ITEM_SLOT_NAME); } if (item != null) { ! getSlot(OFFER_ITEM_SLOT_NAME).add(item); this.item = item; } *************** *** 55,66 **** this.put(OFFERER_ATTRIBUTE_NAME, offerer); this.offerer = offerer; } ! public Offer(final RPObject object) { this(null, Integer.valueOf(object.getInt("price")), object.get(OFFERER_ATTRIBUTE_NAME)); ! final RPObject itemObject = object.getSlot(OFFER_ITEM_SLOT_NAME).getFirst(); ! final Item entity = new ItemTransformer().transform(itemObject); ! // log removed items if (entity == null) { --- 56,68 ---- this.put(OFFERER_ATTRIBUTE_NAME, offerer); this.offerer = offerer; + put(TIMESTAMP, Long.toString(System.currentTimeMillis())); } ! public Offer(final RPObject object) { this(null, Integer.valueOf(object.getInt("price")), object.get(OFFERER_ATTRIBUTE_NAME)); ! final RPObject itemObject = object.getSlot(OFFER_ITEM_SLOT_NAME).getFirst(); ! final Item entity = new ItemTransformer().transform(itemObject); ! // log removed items if (entity == null) { *************** *** 71,101 **** logger.warn("Cannot restore " + quantity + " " + itemObject.get("name") + " to offer " ! + " because this item" ! + " was removed from items.xml"); return; } ! item = entity; getSlot(OFFER_ITEM_SLOT_NAME).add(item); } - public final Item getItem() { return item; } - - public final Integer getPrice() { return price; } - - public final String getOfferer() { return offerer; } ! @Override public int hashCode() { --- 73,112 ---- logger.warn("Cannot restore " + quantity + " " + itemObject.get("name") + " to offer " ! + " because this item was removed from items.xml"); return; } ! item = entity; getSlot(OFFER_ITEM_SLOT_NAME).add(item); + put(TIMESTAMP, object.get(TIMESTAMP)); } public final Item getItem() { return item; } public final Integer getPrice() { return price; } public final String getOfferer() { return offerer; } ! /** ! * Get the creation or renewal time of the offer. ! * ! * @return Timestamp in milliseconds ! */ ! public long getTimestamp() { ! long timeStamp = 0; ! try { ! timeStamp = Long.parseLong(get(TIMESTAMP)); ! } catch (final NumberFormatException e) { ! logger.error("Invalid timestamp: " + get(TIMESTAMP), e); ! } ! return timeStamp; ! } ! @Override public int hashCode() { *************** *** 105,111 **** @Override public boolean equals(final Object obj) { ! return EqualsBuilder.reflectionEquals(this, obj, false, ! Offer.class); } ! } --- 116,121 ---- @Override public boolean equals(final Object obj) { ! return EqualsBuilder.reflectionEquals(this, obj, false, Offer.class); } ! } |