Skip to content

Commit

Permalink
10.1.7 release
Browse files Browse the repository at this point in the history
  • Loading branch information
alderg committed Feb 4, 2019
1 parent 6130cf8 commit 7afbb1f
Show file tree
Hide file tree
Showing 130 changed files with 11,724 additions and 8,688 deletions.
27 changes: 27 additions & 0 deletions ChangeLog
@@ -1,3 +1,30 @@
04-FEB-2019: 10.1.7

- Adds auto-resolution for Google add-ons
- Fixes minimum height for empty viewer
- Fixes shadow in SVG export/embed
- Fixes possible 404 in GitHub

29-JAN-2019: 10.1.6

- Removes alert for link errors
- Removes sync button

28-JAN-2019: 10.1.5

- Uses mxGraph 3.9.13 beta 14

25-JAN-2019: 10.1.4

- Adds download button in save dialog
- Adds shift to ignore current style
- Uses mxGraph 3.9.13 beta 13

21-JAN-2019: 10.1.3

- Fixes possible NPEs
- Uses mxGraph 3.9.13 beta 12

18-JAN-2019: 10.1.2

- Adds debug output
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
10.1.2
10.1.7
106 changes: 54 additions & 52 deletions etc/mxgraph/mxClient.js

Large diffs are not rendered by default.

Expand Up @@ -692,6 +692,13 @@ private mxCell convertGliffyObject(GliffyObject gliffyObject, GliffyObject paren
//Gliffy's subroutine maps to drawio process, whose inner boundary, unlike subroutine's, is relative to it's width so here we set it to 10px
style.append("size=" + 10 / gliffyObject.width).append(";");
}

String fragmentText;
if((fragmentText = gliffyObject.getUmlSequenceCombinedFragmentText()) != null)
{
cell.setValue(fragmentText);
gliffyObject.children.remove(0);
}
}
else if (gliffyObject.isLine())
{
Expand Down
Expand Up @@ -153,10 +153,10 @@ com.gliffy.shape.uml.uml_v1.default.actor=umlActor;verticalLabelPosition=bottom;
com.gliffy.shape.uml.uml_v1.default.use_case=ellipse;perimeter=ellipsePerimeter
# UML v2 SEQUENCE
com.gliffy.shape.uml.uml_v2.sequence.frame=mxgraph.sysml.package;xSize=90;align=left;spacingLeft=10;labelX=26
com.gliffy.shape.uml.uml_v2.sequence.interaction_use=stencil(rVNbDsIgEDwN/wjxAMbHPWi7taQIDWCtt5dmsVI0aqw/hBkmwyy7EL51jeiAMNoQviOMrSgNa8CXDAvXQemR7IWVolCAJ85b08JFVj56SN2AlX485XtCN4RvC1G2R2vOuiLsMLG1sRDZO9WJ0SWCk+nHaAPaxiDXFD28lNSJli8Qr9hbdZaDrd+qF4jz0KUyDlIi7GfPVUulsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40tVDjJcOszVnXqVDyqJEqQXuwSPcJf5JVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10
com.gliffy.shape.uml.uml_v2.sequence.opt_combined_fragment=stencil(rVPREoIgEPwa3gmmD2jM/gP1TEYCB0nt78M5MtSmmuyFYZedZY87CE/aSjRAGK0IPxLGdpT61eN+gUXbQO6Q7ISVIlOAJ62zpoZeFi54SF2BlW485SmhB8KTTOT12ZqrLgg7TWxpLAT2QTVidAngYrox2oC2IcgtRk8vJXWk5RvEO/ZWvcjB9m/VG8TL0LkyLcSE38+eq5RKYTNi1Z9edBqEn9QP/F3la/XH2td1OxgcTieamsbhJcOszYuuU6HkWSOVg3Zgke4i/iKLIgz/LNCLcfYsfjCe3gE=);xSize=90;align=left;spacingLeft=10
com.gliffy.shape.uml.uml_v2.sequence.loop_combined_fragment=stencil(rVNbDoMgEDwN/xTSAzStvQeFVYkUDFJtb1/NokX7jOkPYYbJMLsshO+bUtRAGC0JPxDGNpT2a4+7BRZNDTIg2QqvxckAnjTBuwo6rUL00LYEr8NwyjNCd4TvT0JWhXcXqwg7TmzuPER2pGoxuERwdu0Q7Yq2McgtRQ8vo22i5dv14g37qGZzdYTv1HS9eBlaGtdASvT7WbtybQw+Rqr6U0enQVilHvFvlT+rv9b+XHeAa8DpRFPjXI23jBlfPjsVRhcWKQk2gEe6TfizVipO/yzRi3nuWfxhPLsD);xSize=90;align=left;spacingLeft=10
com.gliffy.shape.uml.uml_v2.sequence.alt_combined_fragment=stencil(rVNbDsIgEDwN/wjxAMbHPWi7WlKEBrCtt5dmsVI0aqw/hBkmwyy7EL51tWiBMFoTviOMrSgNa8B9hoVrofRIdsJKUSjAE+etaaCXlY8eUtdgpR9P+Z7QDeHbQpTNyZqLrgg7TOzRWIjsnWrF6BLB2XRjtAFtY5Brih5eSupEyxeIV+ytOsvB1m/VC8R56FIZBykR9rPnOkqlsBmp6k8vOg3CT+o7/q7yZ/XH2p/r9jB4nE40FcrjJcOszVnXqVDypJEqQXuwSHcJf5ZVFYd/FujFOAcWPxjf3wA=);xSize=90;align=left;spacingLeft=10
com.gliffy.shape.uml.uml_v2.sequence.interaction_use=umlFrame;align=left;spacingLeft=10l;width=40;height=20
com.gliffy.shape.uml.uml_v2.sequence.opt_combined_fragment=umlFrame;align=left;spacingLeft=10l;width=40;height=20
com.gliffy.shape.uml.uml_v2.sequence.loop_combined_fragment=umlFrame;align=left;spacingLeft=10l;width=45;height=20
com.gliffy.shape.uml.uml_v2.sequence.alt_combined_fragment=umlFrame;align=left;spacingLeft=10l;width=40;height=20
com.gliffy.shape.basic.basic_v1.default.line=edgeStyle=none;endArrow=none
#composite
com.gliffy.shape.uml.uml_v2.sequence.entity_lifeline=rect;fillColor=none;strokeColor=none
Expand Down
28 changes: 28 additions & 0 deletions src/main/java/com/mxgraph/io/gliffy/model/GliffyObject.java
Expand Up @@ -196,6 +196,8 @@ public class GliffyObject implements PostDeserializable
//It is a group but we have one similar
//GROUP_SHAPES.add("com.gliffy.shape.ui.ui_v3.forms_controls.audio_controls");

GROUP_SHAPES.add("com.gliffy.shape.uml.uml_v2.sequence.recursive_message");

MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.main_topic");
MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.subtopic");
MINDMAP_SHAPES.add("com.gliffy.shape.mindmap.mindmap_v1.default.child_node");
Expand Down Expand Up @@ -628,4 +630,30 @@ public boolean containsTextBracket()
{
return uid != null ? uid.contains("com.gliffy.shape.uml.uml_v2.activity.frame") : false;
}

/**
* @return
*/
public String getUmlSequenceCombinedFragmentText()
{
if("com.gliffy.shape.uml.uml_v2.sequence.interaction_use".equals(uid))
{
return "ref";
}
if("com.gliffy.shape.uml.uml_v2.sequence.opt_combined_fragment".equals(uid))
{
return "opt";
}
if("com.gliffy.shape.uml.uml_v2.sequence.loop_combined_fragment".equals(uid))
{
return "loop";
}
if("com.gliffy.shape.uml.uml_v2.sequence.alt_combined_fragment".equals(uid))
{
return "alt";
}

return null;
}

}
40 changes: 24 additions & 16 deletions src/main/java/com/mxgraph/online/CacheServlet.java
Expand Up @@ -149,8 +149,9 @@ protected void doGet(HttpServletRequest request,
String qs = request.getQueryString();
String ref = request.getHeader("referer");
boolean stats = qs != null && qs.equals("stats");
boolean alive = qs != null && qs.equals("alive");

if (stats || (ref != null && ref.toLowerCase()
if (stats || alive || (ref != null && ref.toLowerCase()
.matches("https?://([a-z0-9,-]+[.])*draw[.]io/.*")))
{
PrintWriter writer = response.getWriter();
Expand Down Expand Up @@ -181,27 +182,34 @@ protected void doGet(HttpServletRequest request,
ref.toLowerCase().substring(0,
ref.indexOf(".draw.io/") + 8));

// Disables wire-compression
response.setContentType("application/octet-stream");
String id = request.getParameter("id");

if (id != null)
if (alive)
{
response.setStatus(HttpServletResponse.SC_OK);
}
else
{
try
// Disables wire-compression
response.setContentType("application/octet-stream");
String id = request.getParameter("id");

if (id != null)
{
writer.print(getPatches(id, request));
response.setStatus(HttpServletResponse.SC_OK);
try
{
writer.print(getPatches(id, request));
response.setStatus(HttpServletResponse.SC_OK);
}
catch (UnauthorizedException e)
{
response.setStatus(
HttpServletResponse.SC_UNAUTHORIZED);
}
}
catch (UnauthorizedException e)
else
{
response.setStatus(
HttpServletResponse.SC_UNAUTHORIZED);
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}
}
else
{
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}
}

writer.flush();
Expand Down
15 changes: 9 additions & 6 deletions src/main/java/com/mxgraph/online/MSGraphAuthServlet.java
Expand Up @@ -154,7 +154,6 @@ protected void doGet(HttpServletRequest request,
String code = request.getParameter("code");
String refreshToken = request.getParameter("refresh_token");
updateKeys();

String secret, client, redirectUri;

if ("127.0.0.1".equals(request.getServerName()))
Expand Down Expand Up @@ -225,12 +224,11 @@ protected void doGet(HttpServletRequest request,
//Call the opener callback function directly with the given json
if (!jsonResponse)
{
res.append("<!DOCTYPE html><html><head><script>");
res.append("if (window.opener != null && window.opener.onOneDriveCallback != null)");
res.append("{");
res.append(" window.opener.onOneDriveCallback("); //The following is a json containing access_token and redresh_token
res.append("<!DOCTYPE html><html><head><script src=\"https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js\" type=\"text/javascript\"></script><script>");
res.append("var authInfo = "); //The following is a json containing access_token and redresh_token
}


while ((inputLine = in.readLine()) != null)
{
res.append(inputLine);
Expand All @@ -239,7 +237,12 @@ protected void doGet(HttpServletRequest request,

if (!jsonResponse)
{
res.append(" , window);");
res.append(";");
res.append("if (window.opener != null && window.opener.onOneDriveCallback != null)");
res.append("{");
res.append(" window.opener.onOneDriveCallback(authInfo, window);");
res.append("} else {");
res.append(" Office.initialize = function () { Office.context.ui.messageParent(JSON.stringify(authInfo));}");
res.append("}");
res.append("</script></head><body></body></html>");
}
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/mxgraph/online/OpenServlet.java
Expand Up @@ -215,6 +215,12 @@ else if (ENABLE_GLIFFY_SUPPORT && upfile.matches(gliffyRegex))
"window.parent.showOpenAlert(window.parent.mxResources.get('drawingTooLarge'));");
}
}
catch (OutOfMemoryError e)
{
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
writeScript(writer,
"window.parent.showOpenAlert('Out of memory');");
}
catch (Exception e)
{
StringWriter errors = new StringWriter();
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/com/mxgraph/online/ProxyServlet.java
Expand Up @@ -22,6 +22,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.apphosting.api.DeadlineExceededException;
import com.mxgraph.online.Utils.UnsupportedContentException;

/**
Expand Down Expand Up @@ -133,6 +134,10 @@ protected void doGet(HttpServletRequest request,
+ ", referer=" + ((ref != null) ? ref : "[null]")
+ ", user agent=" + ((ua != null) ? ua : "[null]"));
}
catch (DeadlineExceededException e)
{
response.setStatus(HttpServletResponse.SC_REQUEST_TIMEOUT);
}
catch (UnknownHostException | FileNotFoundException e)
{
// do not log 404 and DNS errors
Expand Down
25 changes: 15 additions & 10 deletions src/main/java/com/mxgraph/online/SaveServlet.java
Expand Up @@ -205,23 +205,28 @@ else if (mime.equals("image/svg+xml"))
{
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}

long mem = Runtime.getRuntime().totalMemory()
- Runtime.getRuntime().freeMemory();

log.fine("save: ip=" + request.getRemoteAddr() + " ref=\""
+ request.getHeader("Referer") + "\" in="
+ request.getContentLength() + " enc="
+ ((enc != null) ? enc.length() : "[none]") + " xml="
+ ((xml != null) ? xml.length() : "[none]") + " dt="
+ request.getContentLength() + " mem=" + mem + " dt="
+ (System.currentTimeMillis() - t0));
}
catch (OutOfMemoryError e)
{
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
catch (IllegalArgumentException e)
{
log.warning("Error parsing xml contents : " + xml
+ System.getProperty("line.separator")
+ "Original stack trace : " + e.getMessage());
}
long mem = Runtime.getRuntime().totalMemory()
- Runtime.getRuntime().freeMemory();

log.fine("save: ip=" + request.getRemoteAddr() + " ref=\""
+ request.getHeader("Referer") + "\" in="
+ request.getContentLength() + " enc="
+ ((enc != null) ? enc.length() : "[none]") + " xml="
+ ((xml != null) ? xml.length() : "[none]") + " dt="
+ request.getContentLength() + " mem=" + mem + " dt="
+ (System.currentTimeMillis() - t0));
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion src/main/webapp/cache.manifest
@@ -1,7 +1,7 @@
CACHE MANIFEST

# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 01/18/2019 11:34 AM
# 02/04/2019 11:37 AM

app.html
index.html?offline=1
Expand Down
29 changes: 27 additions & 2 deletions src/main/webapp/export3.html
Expand Up @@ -25,6 +25,14 @@

function render(data)
{
var autoScale = false;

if (data.scale == 'auto')
{
autoScale = true;
data.scale = 1;
}

var graph = new Graph(document.getElementById('graph'));
data.border = parseInt(data.border) || 0;
data.w = parseFloat(data.w) || 0;
Expand Down Expand Up @@ -177,7 +185,6 @@

function renderPage()
{

// Enables math typesetting
math |= xmlDoc.documentElement.getAttribute('math') == '1';

Expand Down Expand Up @@ -305,7 +312,25 @@
}
else
{
graph.view.scaleAndTranslate(data.scale,
var s = data.scale;

if (autoScale)
{
if (b.width < 800 & b.height < 1200)
{
s = 4;
}
else if (b.width < 1600 & b.height < 2400)
{
s = 3;
}
else if (b.width < 3200 && b.height < 4800)
{
s = 2;
}
}

graph.view.scaleAndTranslate(s,
Math.floor(data.border - Math.floor(b.x)),
Math.floor(data.border - Math.floor(b.y)));
}
Expand Down
Binary file added src/main/webapp/images/drawlogo80.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/main/webapp/images/file.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/main/webapp/images/folder.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/main/webapp/images/update16.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/main/webapp/images/update32.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/main/webapp/images/update80.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7afbb1f

Please sign in to comment.