Mercurial > hg > Members > nobuyasu > jungle-network
diff src/alice/jungle/codesegment/LogUpdateCodeSegment.java @ 56:ccfe9b5e8f11
bug LogUpdateCodeSegment
author | one |
---|---|
date | Sun, 14 Jul 2013 21:26:49 +0900 |
parents | 61b2de3f7730 |
children | 1bfd13f831ea |
line wrap: on
line diff
--- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Sun Jul 14 17:23:48 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Sun Jul 14 21:26:49 2013 +0900 @@ -1,10 +1,14 @@ package alice.jungle.codesegment; import java.io.IOException; +import java.util.Iterator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import jungle.test.bbs.JungleManager; @@ -39,7 +43,6 @@ String h = host.asString(); DefaultTreeOperationLogContainer container = parentLog.asClass(DefaultTreeOperationLogContainer.class); HashSetDataSegment ds = hashLog.asClass(HashSetDataSegment.class); - System.out.println(container.getHashLogString()); if(ds.hash.contains(container.getHashLogString())) { ods.update("hashLog", ds); new LogUpdateCodeSegment(index); @@ -74,8 +77,27 @@ ods.put("log", container); new LogUpdateCodeSegment(index); } + - private boolean updaterIsMe(String host, DefaultTreeOperationLogContainer container) { - return host.equals(container.getServerName()); + private DefaultEither<DefaultError, Integer> checkTimeStamp(Node node, long newNodeTimeStamp) { + int count = 0; + long childTimeStamp = 0; + for(Iterator<Node> iter = node.getChildren().iterator();iter.hasNext();) { + Node n = iter.next(); + if(n.getAttributes().get("timestamp") == null) { + return DefaultEither.newA(new DefaultError()); + } + if(n.getAttributes().get("timestamp") != null) { + childTimeStamp = n.getAttributes().get("timestamp").getLong(); + if (newNodeTimeStamp < childTimeStamp) { + break; + } + } + count++; + } + return DefaultEither.newB(count); } + + + }