プロジェクト

全般

プロフィール

Defect #722 » 0001-refs-722.patch

yusuke kokubo, 2011/05/12 15:50

差分を表示:

src/com/appspot/skillmaps/client/Skillmaps.java
login.setEmailAddress(result.getEmailAddress());
login.setKey(result.getKey());
login.setLoggedIn(result.isLoggedIn());
login.setLoginUrl(result.getLoginUrl());
login.setLogoutUrl(result.getLogoutUrl());
login.setNickname(result.getNickname());
login.setProfile(result.getProfile());
src/com/appspot/skillmaps/client/service/AccountService.java
Profile[] getRecentEntriedUsers();
String getSignUrl(String backUrl);
}
src/com/appspot/skillmaps/client/service/AccountServiceAsync.java
void getRecentEntriedUsers(AsyncCallback<Profile[]> callback);
void getSignUrl(String backUrl, AsyncCallback<String> callback);
}
src/com/appspot/skillmaps/client/ui/Header.java
Label nickname;
@UiField
Anchor signin;
SigninAnchor signin;
@UiField
Anchor signout;
......
signPanel.addStyleName(style.signIn());
} else {
nickname.setText("");
signin.setHref(login.getLoginUrl());
signout.setHref(login.getLogoutUrl());
signPanel.removeStyleName(style.loading());
signPanel.addStyleName(style.signOut());
}
src/com/appspot/skillmaps/client/ui/Header.ui.xml
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:sm="urn:import:com.appspot.skillmaps.client.ui">
<ui:style type="com.appspot.skillmaps.client.ui.Header.Style">
.menu {
float: left;
......
<g:HorizontalPanel ui:field="signPanel" styleName="{style.sign}">
<g:Label addStyleNames="{style.nickname}" ui:field="nickname"></g:Label>
<g:Label styleName="{style.demiliter}">|</g:Label>
<g:Anchor addStyleNames="{style.signinlink}" ui:field="signin">Sign
In</g:Anchor>
<sm:SigninAnchor addStyleNames="{style.signinlink}" ui:field="signin">Sign
In</sm:SigninAnchor>
<g:Anchor addStyleNames="{style.signoutlink}" ui:field="signout">Sign
Out</g:Anchor>
</g:HorizontalPanel>
src/com/appspot/skillmaps/client/ui/SigninAnchor.java
package com.appspot.skillmaps.client.ui;
import com.appspot.skillmaps.client.service.AccountService;
import com.appspot.skillmaps.client.service.AccountServiceAsync;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Anchor;
public class SigninAnchor extends Anchor {
private final AccountServiceAsync service = GWT.create(AccountService.class);
public SigninAnchor() {
setHref("#");
addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
service.getSignUrl(GWT.getHostPageBaseURL() + Window.Location.getQueryString() + Window.Location.getHash(),
new AsyncCallback<String>() {
@Override
public void onSuccess(String result) {
Window.Location.replace(result);
}
@Override
public void onFailure(Throwable caught) {
}
});
}
});
}
}
src/com/appspot/skillmaps/client/ui/SigninGuidance.java
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
......
Label guidance;
@UiField
Anchor signin;
SigninAnchor signin;
private Presenter presenter;
......
public SigninGuidance(Login login) {
initWidget(uiBinder.createAndBindUi(this));
guidance.setText("SkillMapsは自分のスキルを他人が評価してくれるソーシャル他人評価サービスです.サインインすれば誰でもすぐに使えます!");
signin.setHref(login.getLoginUrl());
}
src/com/appspot/skillmaps/client/ui/SigninGuidance.ui.xml
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:sm="urn:import:com.appspot.skillmaps.client.ui">
<ui:style>
</ui:style>
<g:VerticalPanel>
<g:Label ui:field="guidance"></g:Label>
<g:Anchor ui:field="signin">Sign in</g:Anchor>
<sm:SigninAnchor ui:field="signin">Sign in</sm:SigninAnchor>
</g:VerticalPanel>
</ui:UiBinder>
src/com/appspot/skillmaps/server/service/AccountServiceImpl.java
login.setProfile(p);
} else {
login.setLoggedIn(false);
login.setLoginUrl(userService.createLoginURL(requestUri));
}
return login;
......
return resultDto;
}
@Override
public String getSignUrl(String backUrl) {
UserService us = UserServiceFactory.getUserService();
return us.createLoginURL(backUrl);
}
private UserListResultDto createUserListResultDto(
S3QueryResultList<Profile> result) {
UserListResultDto resultDto = new UserListResultDto();
......
}
}
src/com/appspot/skillmaps/shared/model/Login.java
private Long version;
private boolean loggedIn = false;
private String loginUrl;
private String logoutUrl;
private String emailAddress;
private String nickname;
......
this.loggedIn = loggedIn;
}
public String getLoginUrl() {
return loginUrl;
}
public void setLoginUrl(String loginUrl) {
this.loginUrl = loginUrl;
}
public String getLogoutUrl() {
return logoutUrl;
}
(2-2/2)