Skip to content

Commit

Permalink
Merge pull request #54 from Netflix/hollow-explorer
Browse files Browse the repository at this point in the history
Hollow explorer
  • Loading branch information
dkoszewnik authored Apr 24, 2017
2 parents 3396083 + 1ac7670 commit e1edaf3
Show file tree
Hide file tree
Showing 54 changed files with 1,973 additions and 83 deletions.
6 changes: 2 additions & 4 deletions hollow-diff-ui/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@ sourceSets {

dependencies {
compile project(':hollow')
compile 'org.apache.velocity:velocity:1.7'
compile 'commons-codec:commons-codec:1.8'
compile 'commons-io:commons-io:2.3'
compile project(':hollow-ui-tools')
compile 'com.google.code.gson:gson:2.8.0'

compileOnly 'org.eclipse.jetty:jetty-server:9.4.2.v20170220'
compileOnly 'org.eclipse.jetty:jetty-server:9.4.3.v20170317'

testCompile 'junit:junit:4.11'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*/
package com.netflix.hollow.diff.ui;

import static com.netflix.hollow.diff.ui.HollowDiffSession.getSession;
import static com.netflix.hollow.ui.HollowUISession.getSession;

import com.netflix.hollow.core.index.key.PrimaryKey;
import com.netflix.hollow.diff.ui.pages.DiffFieldPage;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
package com.netflix.hollow.diff.ui;

import com.netflix.hollow.tools.diff.HollowDiff;
import com.netflix.hollow.ui.HollowUIRouter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@
*/
package com.netflix.hollow.diff.ui.jetty;

import com.netflix.hollow.diff.ui.jetty.HollowDiffUIServer.UIServer;
import com.netflix.hollow.ui.jetty.AbstractOptionalDependencyHelper;

final class OptionalDependencyHelper extends AbstractOptionalDependencyHelper {
UIServer.Factory uiServerFactory() {
return (UIServer.Factory)newFactory(
HollowDiffUIServer.UIServer.Factory uiServerFactory() {
return (HollowDiffUIServer.UIServer.Factory)newFactory(
"com.netflix.hollow.diff.ui.jetty.JettyBasedUIServer$Factory",
"org.eclipse.jetty.server.Server",
"please add jetty-server (org.eclipse.jetty:jetty-server) to your dependencies");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
*/
package com.netflix.hollow.diff.ui.pages;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.diff.ui.model.HollowDiffUIBreadcrumbs;
import com.netflix.hollow.diff.ui.model.HollowObjectPairDiffScore;
import com.netflix.hollow.tools.diff.HollowTypeDiff;
import com.netflix.hollow.tools.diff.count.HollowFieldDiff;
import com.netflix.hollow.ui.HollowUISession;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand All @@ -36,7 +36,7 @@ public DiffFieldPage(HollowDiffUI diffUI) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
String typeName = req.getParameter("type");
HollowTypeDiff typeDiff = getTypeDiff(typeName);
int fieldIdx = Integer.parseInt(req.getParameter("fieldIdx"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
*/
package com.netflix.hollow.diff.ui.pages;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.diff.ui.model.HollowDiffUIBreadcrumbs;
import com.netflix.hollow.diffview.HollowDiffHtmlKickstarter;
import com.netflix.hollow.diffview.HollowObjectView;
import com.netflix.hollow.tools.diff.HollowTypeDiff;
import com.netflix.hollow.ui.HollowUISession;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
Expand All @@ -35,7 +35,7 @@ public DiffObjectPage(HollowDiffUI diffUI) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
String type = req.getParameter("type");
int fromOrdinal = Integer.parseInt(req.getParameter("fromOrdinal"));
int toOrdinal = Integer.parseInt(req.getParameter("toOrdinal"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
*/
package com.netflix.hollow.diff.ui.pages;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.diff.ui.model.HollowDiffOverviewTypeEntry;
import com.netflix.hollow.tools.diff.HollowTypeDiff;
import com.netflix.hollow.ui.HollowUISession;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
Expand All @@ -35,7 +35,7 @@ public DiffOverviewPage(HollowDiffUI diffUI) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
String sortBy = param(req, session, "overview", "sortBy", "diffs");

ctx.put("typeOverviewEntries", getTypeEntries(sortBy));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
*/
package com.netflix.hollow.diff.ui.pages;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.diff.ui.model.HollowHeaderEntry;
import com.netflix.hollow.tools.diff.HollowDiff;
import com.netflix.hollow.tools.diff.HollowTypeDiff;
import com.netflix.hollow.ui.HollowUISession;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashSet;
Expand Down Expand Up @@ -50,7 +50,7 @@ public DiffPage(HollowDiffUI diffUI, String templateName) {
this.footerTemplate = diffUI.getVelocity().getTemplate("diff-footer.vm");
}

public void render(HttpServletRequest req, HollowDiffSession session, Writer writer) {
public void render(HttpServletRequest req, HollowUISession session, Writer writer) {
processCookies(req);

VelocityContext ctx = new VelocityContext();
Expand Down Expand Up @@ -89,21 +89,21 @@ private void processCookies(HttpServletRequest request) {
}
}

protected abstract void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx);
protected abstract void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx);

protected HollowDiff getDiff() {
return diffUI.getDiff();
}

protected int intParam(HttpServletRequest req, HollowDiffSession session, String ctx, String paramName, int defaultValue) {
protected int intParam(HttpServletRequest req, HollowUISession session, String ctx, String paramName, int defaultValue) {
return Integer.parseInt(param(req, session, ctx, paramName, String.valueOf(defaultValue)));
}

protected boolean boolParam(HttpServletRequest req, HollowDiffSession session, String ctx, String paramName, boolean defaultValue) {
protected boolean boolParam(HttpServletRequest req, HollowUISession session, String ctx, String paramName, boolean defaultValue) {
return Boolean.parseBoolean(param(req, session, ctx, paramName, String.valueOf(defaultValue)));
}

protected String param(HttpServletRequest req, HollowDiffSession session, String ctx, String paramName, String defaultValue) {
protected String param(HttpServletRequest req, HollowUISession session, String ctx, String paramName, String defaultValue) {
String sessionParamName = ctx + "_" + paramName;
String reqParam = req.getParameter(paramName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@

import com.netflix.hollow.core.read.engine.object.HollowObjectTypeReadState;
import com.netflix.hollow.core.util.IntList;
import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.diff.ui.model.HollowDiffUIBreadcrumbs;
import com.netflix.hollow.diff.ui.model.HollowFieldDiffScore;
import com.netflix.hollow.diff.ui.model.HollowObjectPairDiffScore;
import com.netflix.hollow.diff.ui.model.HollowUnmatchedObject;
import com.netflix.hollow.tools.diff.HollowTypeDiff;
import com.netflix.hollow.tools.diff.count.HollowFieldDiff;
import com.netflix.hollow.ui.HollowUISession;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand All @@ -48,7 +48,7 @@ public DiffTypePage(HollowDiffUI diffUI) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
String typeName = req.getParameter("type");
HollowTypeDiff typeDiff = getTypeDiff(typeName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*/
package com.netflix.hollow.diffview;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.ui.HollowUISession;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -50,7 +50,7 @@ public void uncollapseRow(HttpServletRequest req, HttpServletResponse resp) thro
}

private HollowDiffViewRow findRow(HttpServletRequest req, HttpServletResponse resp) {
HollowDiffSession session = HollowDiffSession.getSession(req, resp);
HollowUISession session = HollowUISession.getSession(req, resp);
HollowObjectView objectView = viewProvider.getObjectView(req, session);

int rowPath[] = getRowPath(req.getParameter("row"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
*/
package com.netflix.hollow.diffview;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diff.ui.HollowDiffUI;
import com.netflix.hollow.ui.HollowUISession;
import javax.servlet.http.HttpServletRequest;

public class HollowDiffViewProvider implements HollowObjectViewProvider {
Expand All @@ -30,7 +30,7 @@ public HollowDiffViewProvider(HollowDiffUI diffUI) {
}

@Override
public HollowDiffView getObjectView(HttpServletRequest req, HollowDiffSession session) {
public HollowDiffView getObjectView(HttpServletRequest req, HollowUISession session) {
String type = req.getParameter("type");
int fromOrdinal = Integer.parseInt(req.getParameter("fromOrdinal"));
int toOrdinal = Integer.parseInt(req.getParameter("toOrdinal"));
Expand All @@ -39,8 +39,8 @@ public HollowDiffView getObjectView(HttpServletRequest req, HollowDiffSession se
return objectView;
}

private HollowDiffView getObjectView(HollowDiffSession session, String type, int fromOrdinal, int toOrdinal) {
HollowDiffView objectView = (HollowDiffView) session.getObjectView();
private HollowDiffView getObjectView(HollowUISession session, String type, int fromOrdinal, int toOrdinal) {
HollowDiffView objectView = (HollowDiffView) session.getAttribute("hollow-diff-view");

if(objectView != null
&& objectView.getType().equals(type)
Expand All @@ -52,7 +52,7 @@ private HollowDiffView getObjectView(HollowDiffSession session, String type, int
HollowDiffViewRow rootRow = new HollowObjectDiffViewGenerator(diffUI.getDiff().getFromStateEngine(), diffUI.getDiff().getToStateEngine(), diffUI, type, fromOrdinal, toOrdinal).getHollowDiffViewRows();
objectView = new HollowDiffView(type, fromOrdinal, toOrdinal, rootRow, diffUI.getExactRecordMatcher());
objectView.resetView();
session.setObjectView(objectView);
session.setAttribute("hollow-diff-view", objectView);

return objectView;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
*/
package com.netflix.hollow.diffview;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.history.ui.HollowHistoryUI;
import com.netflix.hollow.tools.history.HollowHistoricalState;
import com.netflix.hollow.tools.history.keyindex.HollowHistoricalStateTypeKeyOrdinalMapping;
import com.netflix.hollow.ui.HollowUISession;
import javax.servlet.http.HttpServletRequest;

public class HollowHistoryViewProvider implements HollowObjectViewProvider {
Expand All @@ -32,7 +32,7 @@ public HollowHistoryViewProvider(HollowHistoryUI historyUI) {
}

@Override
public HollowHistoryView getObjectView(HttpServletRequest req, HollowDiffSession session) {
public HollowHistoryView getObjectView(HttpServletRequest req, HollowUISession session) {
long version = Long.parseLong(req.getParameter("version"));
String type = req.getParameter("type");
int keyOrdinal = Integer.parseInt(req.getParameter("keyOrdinal"));
Expand All @@ -41,8 +41,8 @@ public HollowHistoryView getObjectView(HttpServletRequest req, HollowDiffSession
return objectView;
}

private HollowHistoryView getObjectView(HollowDiffSession session, long version, String type, int keyOrdinal) {
HollowHistoryView objectView = (HollowHistoryView) session.getObjectView();
private HollowHistoryView getObjectView(HollowUISession session, long version, String type, int keyOrdinal) {
HollowHistoryView objectView = (HollowHistoryView) session.getAttribute("hollow-history-view");

if(objectView != null
&& objectView.getHistoricalVersion() == version
Expand All @@ -59,7 +59,7 @@ private HollowHistoryView getObjectView(HollowDiffSession session, long version,
HollowDiffViewRow rootRow = new HollowObjectDiffViewGenerator(historicalState.getDataAccess(), historicalState.getDataAccess(), historyUI, type, fromOrdinal, toOrdinal).getHollowDiffViewRows();
objectView = new HollowHistoryView(version, type, keyOrdinal, rootRow, historyUI.getExactRecordMatcher());
objectView.resetView();
session.setObjectView(objectView);
session.setAttribute("hollow-history-view", objectView);

return objectView;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@
*/
package com.netflix.hollow.diffview;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.ui.HollowUISession;

import javax.servlet.http.HttpServletRequest;

public interface HollowObjectViewProvider {

public HollowObjectView getObjectView(HttpServletRequest req, HollowDiffSession session);
public HollowObjectView getObjectView(HttpServletRequest req, HollowUISession session);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
*/
package com.netflix.hollow.history.ui;

import static com.netflix.hollow.diff.ui.HollowDiffSession.getSession;

import static com.netflix.hollow.ui.HollowUISession.getSession;
import com.netflix.hollow.core.index.key.PrimaryKey;
import com.netflix.hollow.diff.ui.HollowUIRouter;
import com.netflix.hollow.diffview.DiffViewOutputGenerator;
import com.netflix.hollow.diffview.HollowHistoryViewProvider;
import com.netflix.hollow.diffview.HollowObjectViewProvider;
Expand All @@ -36,6 +34,7 @@
import com.netflix.hollow.history.ui.pages.HistoryStateTypeExpandGroupPage;
import com.netflix.hollow.history.ui.pages.HistoryStateTypePage;
import com.netflix.hollow.tools.history.HollowHistory;
import com.netflix.hollow.ui.HollowUIRouter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@
*/
package com.netflix.hollow.history.ui.jetty;

import com.netflix.hollow.history.ui.jetty.HollowHistoryUIServer.UIServer;
import com.netflix.hollow.ui.jetty.AbstractOptionalDependencyHelper;

final class OptionalDependencyHelper extends AbstractOptionalDependencyHelper {
UIServer.Factory historyUIServerFactory() {
return (UIServer.Factory)newFactory(
HollowHistoryUIServer.UIServer.Factory historyUIServerFactory() {
return (HollowHistoryUIServer.UIServer.Factory)newFactory(
"com.netflix.hollow.history.ui.jetty.JettyBasedUIServer$Factory",
"org.eclipse.jetty.server.Server",
"please add jetty-server (org.eclipse.jetty:jetty-server) to your dependencies");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
*/
package com.netflix.hollow.history.ui.pages;

import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.diffview.HollowDiffHtmlKickstarter;
import com.netflix.hollow.diffview.HollowObjectView;
import com.netflix.hollow.history.ui.HollowHistoryUI;
Expand All @@ -26,6 +25,7 @@
import com.netflix.hollow.tools.history.HollowHistoricalState;
import com.netflix.hollow.tools.history.HollowHistory;
import com.netflix.hollow.tools.history.keyindex.HollowHistoricalStateTypeKeyOrdinalMapping;
import com.netflix.hollow.ui.HollowUISession;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
Expand All @@ -38,7 +38,7 @@ public HistoricalObjectDiffPage(HollowHistoryUI ui) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
long version = Long.parseLong(req.getParameter("version"));
String type = req.getParameter("type");
int keyOrdinal = Integer.parseInt(req.getParameter("keyOrdinal"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
package com.netflix.hollow.history.ui.pages;

import com.google.gson.Gson;
import com.netflix.hollow.diff.ui.HollowDiffSession;
import com.netflix.hollow.history.ui.HollowHistoryUI;
import com.netflix.hollow.history.ui.VersionTimestampConverter;
import com.netflix.hollow.history.ui.model.HistoryOverviewRow;
import com.netflix.hollow.tools.history.HollowHistoricalState;
import com.netflix.hollow.tools.history.keyindex.HollowHistoricalStateTypeKeyOrdinalMapping;
import com.netflix.hollow.ui.HollowUISession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
Expand All @@ -41,7 +41,7 @@ public HistoryOverviewPage(HollowHistoryUI ui) {
}

@Override
protected void setUpContext(HttpServletRequest req, HollowDiffSession session, VelocityContext ctx) {
protected void setUpContext(HttpServletRequest req, HollowUISession session, VelocityContext ctx) {
List<HistoryOverviewRow> rows = getHistoryOverview();

ctx.put("overviewDisplayHeaders", ui.getOverviewDisplayHeaders());
Expand Down
Loading

0 comments on commit e1edaf3

Please sign in to comment.