You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2014/05/27 18:49:38 UTC
svn commit: r1597826 -
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java
Author: jukka
Date: Tue May 27 16:49:38 2014
New Revision: 1597826
URL: http://svn.apache.org/r1597826
Log:
OAK-1858: Segment Explorer
Report the exact record id instead of just the segment id for node and property states.
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java?rev=1597826&r1=1597825&r2=1597826&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/segmentexplorer/SegmentTree.java Tue May 27 16:49:38 2014
@@ -19,6 +19,7 @@
package org.apache.jackrabbit.oak.segmentexplorer;
import java.awt.GridLayout;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -44,7 +45,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.plugins.segment.RecordId;
-import org.apache.jackrabbit.oak.plugins.segment.Segment;
+import org.apache.jackrabbit.oak.plugins.segment.SegmentId;
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState;
import org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
@@ -55,8 +56,6 @@ import com.google.common.collect.Lists;
public class SegmentTree extends JPanel implements TreeSelectionListener {
- private final FileStore store;
-
private final DefaultTreeModel treeModel;
private final JTree tree;
private final JTextArea log;
@@ -66,7 +65,6 @@ public class SegmentTree extends JPanel
public SegmentTree(FileStore store, JTextArea log) {
super(new GridLayout(1, 0));
- this.store = store;
this.log = log;
index = store.getTarReaderIndex();
@@ -142,14 +140,13 @@ public class SegmentTree extends JPanel
sb.append(newline);
SegmentNodeState s = (SegmentNodeState) state;
- Segment segment = s.getRecordId().getSegment();
- sb.append("Segment ");
- sb.append(segment.getSegmentId());
- sb.append(newline);
- sb.append("File ");
- String file = getFile(segment.getSegmentId().toString());
- sb.append(file);
+ RecordId recordId = s.getRecordId();
+ sb.append("Record " + recordId);
+ String file = getFile(recordId);
+ if (file.length() > 0) {
+ sb.append(" in " + file);
+ }
sb.append(newline);
sb.append("State");
@@ -158,11 +155,10 @@ public class SegmentTree extends JPanel
sb.append(newline);
for (ChildNodeEntry ce : s.getChildNodeEntries()) {
SegmentNodeState c = (SegmentNodeState) ce.getNodeState();
- sb.append(" " + c.getRecordId().getSegmentId() + " -> "
- + ce.getName());
+ sb.append(" " + c.getRecordId() + " -> " + ce.getName());
sb.append(newline);
- String f = getFile(c.getRecordId().getSegmentId().toString());
+ String f = getFile(c.getRecordId());
if (!f.equals(file)) {
sb.append(" * " + f);
sb.append(newline);
@@ -182,12 +178,10 @@ public class SegmentTree extends JPanel
}
// TODO handle the display for the rest of the property
// types
- String sId = ((SegmentPropertyState) ps).getRecordId()
- .getSegmentId().toString();
- sb.append(" " + sId + " -> " + ps.getName() + " (" + val
- + ")");
+ RecordId rid = ((SegmentPropertyState) ps).getRecordId();
+ sb.append(" " + rid + " -> " + ps.getName() + " (" + val + ")");
sb.append(newline);
- String f = getFile(sId);
+ String f = getFile(rid);
if (!f.equals(file)) {
sb.append(" * " + f);
sb.append(newline);
@@ -224,11 +218,13 @@ public class SegmentTree extends JPanel
log.setText(sb.toString());
}
- private String getFile(String sId) {
+ private String getFile(RecordId id) {
+ SegmentId segmentId = id.getSegmentId();
for (Entry<String, Set<UUID>> path2Uuid : index.entrySet()) {
for (UUID uuid : path2Uuid.getValue()) {
- if (uuid.toString().equals(sId)) {
- return path2Uuid.getKey();
+ if (uuid.getMostSignificantBits() == segmentId.getMostSignificantBits()
+ && uuid.getLeastSignificantBits() == segmentId.getLeastSignificantBits()) {
+ return new File(path2Uuid.getKey()).getName();
}
}
}