Skip to content

Commit 80fcc3d

Browse files
committed
plantuml
1 parent 55e7ad6 commit 80fcc3d

File tree

7 files changed

+94
-11
lines changed

7 files changed

+94
-11
lines changed

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/login/LoginPresenter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public void onResponseReceived(Request request, Response response) {
136136
storage.setItem("/oauth/token/login_time", String.valueOf(System.currentTimeMillis()));
137137
storage.setItem("/oauth/token/expires_in", String.valueOf(data.get("expires_in").isNumber().doubleValue() * 1000));
138138
}
139-
getAccessToken(email, data);
139+
setAccessToken(email, data);
140140
MaterialToast.fireToast("Response:" + response.getStatusCode());
141141
PlaceRequest placeRequest = new PlaceRequest.Builder().nameToken(NameTokens.CHAT).build();
142142
placeManager.revealPlace(placeRequest);
@@ -153,7 +153,7 @@ public void onResponseReceived(Request request, Response response) {
153153

154154
}
155155

156-
private void getAccessToken(String email, JSONObject accessToken) {
156+
private void setAccessToken(String email, JSONObject accessToken) {
157157
this.accessToken.setAccessToken(accessToken.get("access_token").isString().stringValue());
158158
this.accessToken.setRefreshToken(accessToken.get("refresh_token").isString().stringValue());
159159
this.accessToken.setTokenType(accessToken.get("token_type").isString().stringValue());

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/plantuml/PlantumlMaterialImage.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
package com.forsrc.gwt.client.application.plantuml;
22

3+
import com.forsrc.gwt.client.commons.oauth.Oauth;
34
import com.google.gwt.dom.client.Document;
45
import com.google.gwt.http.client.URL;
56
import com.google.gwt.resources.client.ImageResource;
6-
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
7-
import com.google.gwt.safehtml.shared.UriUtils;
8-
import com.google.gwt.user.client.Window;
97
import com.google.gwt.user.client.ui.HTML;
108
import com.google.gwt.user.client.ui.HasText;
11-
import com.google.gwt.util.tools.shared.StringUtils;
129

1310
import gwt.material.design.client.base.HasImage;
1411
import gwt.material.design.client.base.MaterialWidget;
1512
import gwt.material.design.client.base.mixin.ImageMixin;
1613
import gwt.material.design.client.constants.CssName;
1714

18-
public class PlantumlMaterialImage extends MaterialWidget implements HasText, HasImage {
15+
public class PlantumlMaterialImage extends MaterialWidget implements HasText, HasImage, Oauth {
1916

2017
private ImageMixin<PlantumlMaterialImage> imageMixin;
2118
private String src;
2219
private String uml;
2320
private boolean isUi = true;
21+
private String accessToken;
2422

2523
public PlantumlMaterialImage() {
2624
super(Document.get().createImageElement(), CssName.RESPONSIVE_IMG);
@@ -47,7 +45,7 @@ private void setUrl(String src, String uml) {
4745
return;
4846
}
4947
// String url = getSrc() + uml;
50-
String url = src + URL.encodeQueryString(uml);
48+
String url = src + "&uml=" + URL.encodeQueryString(uml) + getAccessToken();
5149
// this.getElement().setAttribute("src", url);
5250
// setUrl(url);
5351
getImageMixin().setUrl(url);
@@ -97,4 +95,14 @@ protected ImageMixin<PlantumlMaterialImage> getImageMixin() {
9795
}
9896
return imageMixin;
9997
}
98+
99+
@Override
100+
public String getAccessToken() {
101+
return this.accessToken != null ? this.accessToken : "";
102+
}
103+
104+
@Override
105+
public void setAccessToken(String accessToken) {
106+
this.accessToken = accessToken;
107+
}
100108
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.forsrc.gwt.client.application.plantuml;
2+
3+
import com.gwtplatform.mvp.client.UiHandlers;
4+
5+
public interface PlantumlUiHandlers extends UiHandlers {
6+
7+
8+
}

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/plantuml/PlantumlView.ui.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
xmlns:uml="urn:import:com.forsrc.gwt.client.application.plantuml">
77

88
<ui:with field="i18n" type="com.forsrc.gwt.client.resources.i18n.Messages" />
9-
9+
<ui:with field='storage' type='com.forsrc.gwt.client.utils.StorageUtils'/>
1010

1111
<g:HTMLPanel>
1212
<m:MaterialLabel ui:field="searchLabel"/>
13-
<uml:PlantumlMaterialImage src="{i18n.app_url_resource_plantuml}">
13+
<uml:PlantumlMaterialImage src="{i18n.app_url_resource_plantuml}{storage.getAccessToken}">
1414
<![CDATA[
1515
@startuml\n
1616
A-> B\n
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.forsrc.gwt.client.commons.oauth;
2+
3+
public interface Oauth {
4+
5+
public String getAccessToken();
6+
7+
public void setAccessToken(String accessToken);
8+
}
9+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.forsrc.gwt.client.utils;
2+
3+
import com.forsrc.gwt.client.commons.model.AccessToken;
4+
import com.google.gwt.json.client.JSONObject;
5+
import com.google.gwt.json.client.JSONString;
6+
import com.google.gwt.storage.client.Storage;
7+
8+
public class StorageUtils {
9+
10+
public static Storage storage;
11+
public static JSONObject storageJson;
12+
13+
static {
14+
storage = Storage.getLocalStorageIfSupported();
15+
if (storage == null) {
16+
storageJson = new JSONObject();
17+
}
18+
}
19+
20+
public static final String OAUTH_TOKEN = "/oauth/token/";
21+
public static final String ACCESS_TOKEN = OAUTH_TOKEN + "access_token";
22+
23+
public static String getAccessToken() {
24+
String token = null;
25+
if (storage != null) {
26+
token = storage.getItem(ACCESS_TOKEN);
27+
} else {
28+
token = storageJson.get(ACCESS_TOKEN).isString().stringValue();
29+
}
30+
return "&access_token=" + token;
31+
}
32+
33+
public static AccessToken setAccessToken(String email, JSONObject accessTokenJson) {
34+
AccessToken accessToken = new AccessToken();
35+
accessToken.setAccessToken(accessTokenJson.get("access_token").isString().stringValue());
36+
accessToken.setRefreshToken(accessTokenJson.get("refresh_token").isString().stringValue());
37+
accessToken.setTokenType(accessTokenJson.get("token_type").isString().stringValue());
38+
accessToken.setScope(accessTokenJson.get("scope").isString().stringValue());
39+
accessToken.setJti(accessTokenJson.get("jti").isString().stringValue());
40+
accessToken.setExpiresIn((long) accessTokenJson.get("expires_in").isNumber().doubleValue() * 1000);
41+
accessToken.setEmail(email);
42+
43+
if (storage != null) {
44+
storage.setItem("/user/email", email);
45+
storage.setItem("/oauth/token", accessToken.toString());
46+
storage.setItem(ACCESS_TOKEN, accessToken.getAccessToken());
47+
storage.setItem("/oauth/token/login_time", String.valueOf(System.currentTimeMillis()));
48+
storage.setItem("/oauth/token/expires_in", String.valueOf(accessToken.getExpiresIn()));
49+
} else {
50+
storageJson.put("/user/email", new JSONString(email));
51+
storageJson.put("/oauth/token", new JSONString(accessToken.toString()));
52+
storageJson.put(ACCESS_TOKEN, new JSONString(accessToken.getAccessToken()));
53+
storageJson.put("/oauth/token/login_time", new JSONString(String.valueOf(System.currentTimeMillis())));
54+
storageJson.put("/oauth/token/expires_in", new JSONString(String.valueOf(accessToken.getExpiresIn())));
55+
}
56+
return accessToken;
57+
}
58+
}

forsrc-gwt-ui/src/main/resources/com/forsrc/gwt/client/resources/i18n/Messages.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ app.title = forsrc gwt ui
44
app.url.oauth = http://localhost:9999/uaa
55
app.url.resource = http://localhost:7777
66
app.url.resource.ws = ws://localhost:7777
7-
app.url.resource.plantuml = http://localhost:7777/plantuml/svg?uml=
7+
app.url.resource.plantuml = http://localhost:7777/plantuml/svg?

0 commit comments

Comments
 (0)