From 5b5b75142fe292d746f985af7629cf31dade8a31 Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sat, 22 Oct 2016 15:09:10 +0200 Subject: [PATCH] cloud work - user management --- .../diylc-core/library/main.jar | Bin 290483 -> 290483 bytes .../plugins/cloud/model/ProjectEntity.java | 2 +- .../plugins/cloud/model/ServiceAPI.java | 21 ++++- .../plugins/cloud/model/UserEntity.java | 61 ++++--------- .../cloud/presenter/CloudException.java | 2 +- .../cloud/presenter/CloudListener.java | 2 +- .../cloud/presenter/CloudPresenter.java | 29 ++++-- .../presenter/NotConnectedException.java | 2 +- .../cloud/presenter/NotExistsException.java | 2 +- .../cloud/presenter/NotLoggedInException.java | 2 +- .../diylc-swing/.gitignore | 2 + .../src/org/diylc/images/IconLoader.java | 3 +- .../src/org/diylc/images/key_edit.png | Bin 0 -> 924 bytes .../org/diylc/swing/gui/DialogFactory.java | 10 +-- .../swing/plugins/cloud/CloudPlugIn.java | 83 ++++++++++++++++-- .../plugins/cloud/view/UploadDialog.java | 39 ++++---- ...NewUserDialog.java => UserEditDialog.java} | 48 ++++++---- .../diylc-swing/test/org/diylc/TableTest.java | 2 +- 18 files changed, 192 insertions(+), 118 deletions(-) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/model/ProjectEntity.java (94%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/model/ServiceAPI.java (86%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/model/UserEntity.java (56%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/CloudException.java (77%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/CloudListener.java (61%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/CloudPresenter.java (83%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/NotConnectedException.java (66%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/NotExistsException.java (74%) rename diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/{swing => }/plugins/cloud/presenter/NotLoggedInException.java (66%) create mode 100644 diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/key_edit.png rename diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/{NewUserDialog.java => UserEditDialog.java} (82%) diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar index 25e153d556ecef1b056e512eb092fbbdab2366e4..b5ab55a202afef20b310360f3ee50148c69de0db 100644 GIT binary patch delta 3433 zcmZWrc~n%_8Gm-eF z9yK_ptYq9?lJt@kWH!aOIX|rrRKMc}@Bi2q5=*~pZrc*Zt&+C0v*3GtuEF|Sn(}dP zCv5uvF}25#rQAx{-bjK0^pXewF~m>)B9z-XP7U22Mwfv4C2BNSJ*PyF=E@O;?CGD! z@RKLPeoo{k_t_IZ!8@Yu5|e@%8@{fp;}7 z6(0X+YHhAZwnXa#pDe)knW5m zvjyzQAVv}CaTZAtwn@39Wg6ICtsz&blXdc@(aTr9qLSnxA398C%0Agdr~Kzvgb4TV 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 JZF((T{eL)N&FugH diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ProjectEntity.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java similarity index 94% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ProjectEntity.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java index 7d7a97ee..a1c80f9b 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ProjectEntity.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.model; +package org.diylc.plugins.cloud.model; import java.io.Serializable; diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ServiceAPI.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ServiceAPI.java similarity index 86% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ServiceAPI.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ServiceAPI.java index dae76466..026bba30 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/ServiceAPI.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/ServiceAPI.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.model; +package org.diylc.plugins.cloud.model; import java.io.File; import java.util.List; @@ -12,9 +12,9 @@ import com.diyfever.httpproxy.ParamName; * */ public interface ServiceAPI { - + public static final String URL_KEY = "serviceUrl"; - + /** * Creates a user with the specified details. * @@ -62,6 +62,19 @@ public interface ServiceAPI { @ParamName("password") String password, @ParamName("machineId") String machineId); + /*** + * Retrieves current user's details. + * + * @param username + * @param password + * @param machineId + * @return string with an error message if it fails, or an instance of + * {@link UserEntity} if it succeeds. + */ + Object getUserDetails(@ParamName("username") String username, + @ParamName("token") String token, + @ParamName("machineId") String machineId); + /*** * Tries to authenticate with the token that was previously created by * calling login() function. @@ -127,7 +140,7 @@ public interface ServiceAPI { * @return a {@link List} of available categories. */ List getCategories(); - + /** * @return a {@link List} of available sortings. */ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/UserEntity.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/UserEntity.java similarity index 56% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/UserEntity.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/UserEntity.java index 5987870f..7826ea4e 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/model/UserEntity.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/model/UserEntity.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.model; +package org.diylc.plugins.cloud.model; import java.io.Serializable; @@ -6,48 +6,27 @@ public class UserEntity implements Serializable { private static final long serialVersionUID = 1L; - private int id; - private String userName; - private String password; + private String username; private String email; private String website; private String bio; - public UserEntity(int id, String userName, String password, String email, - String website, String bio) { + public UserEntity(String userName, String email, String website, String bio) { super(); - this.id = id; - this.userName = userName; - this.password = password; + this.username = username; this.email = email; this.website = website; this.bio = bio; } - public int getId() { - return id; + public String getUsername() { + return username; } - - public void setId(int id) { - this.id = id; + + public void setUsername(String username) { + this.username = username; } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - + public String getEmail() { return email; } @@ -78,11 +57,8 @@ public class UserEntity implements Serializable { int result = 1; result = prime * result + ((bio == null) ? 0 : bio.hashCode()); result = prime * result + ((email == null) ? 0 : email.hashCode()); - result = prime * result + id; result = prime * result - + ((password == null) ? 0 : password.hashCode()); - result = prime * result - + ((userName == null) ? 0 : userName.hashCode()); + + ((username == null) ? 0 : username.hashCode()); result = prime * result + ((website == null) ? 0 : website.hashCode()); return result; } @@ -106,17 +82,10 @@ public class UserEntity implements Serializable { return false; } else if (!email.equals(other.email)) return false; - if (id != other.id) - return false; - if (password == null) { - if (other.password != null) + if (username == null) { + if (other.username != null) return false; - } else if (!password.equals(other.password)) - return false; - if (userName == null) { - if (other.userName != null) - return false; - } else if (!userName.equals(other.userName)) + } else if (!username.equals(other.username)) return false; if (website == null) { if (other.website != null) @@ -128,7 +97,7 @@ public class UserEntity implements Serializable { @Override public String toString() { - return "UserEntity [userName=" + userName + "]"; + return "UserEntity [userName=" + username + "]"; } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudException.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudException.java similarity index 77% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudException.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudException.java index d05e8ae1..1955e7cb 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudException.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudException.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; public class CloudException extends Exception { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudListener.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudListener.java similarity index 61% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudListener.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudListener.java index d41593ad..5619d3d1 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudListener.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudListener.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; public interface CloudListener { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudPresenter.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java similarity index 83% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudPresenter.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java index cdd43d31..88b880d6 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/CloudPresenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java @@ -1,17 +1,15 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; -import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.List; -import javax.imageio.ImageIO; - import org.apache.log4j.Logger; import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.swing.plugins.cloud.model.ServiceAPI; +import org.diylc.plugins.cloud.model.ServiceAPI; +import org.diylc.plugins.cloud.model.UserEntity; import com.diyfever.httpproxy.PhpFlatProxy; import com.diyfever.httpproxy.ProxyFactory; @@ -160,6 +158,27 @@ public class CloudPresenter { } + public UserEntity getUserDetails() throws CloudException { + String username = ConfigurationManager.getInstance().readString( + USERNAME_KEY, null); + String token = ConfigurationManager.getInstance().readString(TOKEN_KEY, + null); + + Object res; + try { + res = service.getUserDetails(username, token, getMachineId()); + } catch (Exception e) { + throw new CloudException(e); + } + if (res instanceof String) + throw new CloudException(res.toString()); + if (res instanceof UserEntity) + return (UserEntity) res; + throw new CloudException( + "Unexpected server response received for category list: " + + res.getClass().getName()); + } + private String getMachineId() { if (machineId == null) { try { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotConnectedException.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotConnectedException.java similarity index 66% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotConnectedException.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotConnectedException.java index 146d746f..f811511a 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotConnectedException.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotConnectedException.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; public class NotConnectedException extends Exception { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotExistsException.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotExistsException.java similarity index 74% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotExistsException.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotExistsException.java index 818414a8..7417ddd9 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotExistsException.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotExistsException.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; public class NotExistsException extends Exception { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotLoggedInException.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotLoggedInException.java similarity index 66% rename from diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotLoggedInException.java rename to diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotLoggedInException.java index 60fd166c..4ee0a734 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/swing/plugins/cloud/presenter/NotLoggedInException.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/plugins/cloud/presenter/NotLoggedInException.java @@ -1,4 +1,4 @@ -package org.diylc.swing.plugins.cloud.presenter; +package org.diylc.plugins.cloud.presenter; public class NotLoggedInException extends Exception { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.gitignore b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.gitignore index 9b0ab937..c35c3382 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.gitignore +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.gitignore @@ -2,5 +2,7 @@ /.apt_generated /log/ /build/ +/library/ +/lib/diylc-core.jar autoSave.diy config.xml \ No newline at end of file diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/IconLoader.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/IconLoader.java index f7200d2e..aaee0234 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/IconLoader.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/IconLoader.java @@ -41,7 +41,8 @@ public enum IconLoader { "briefcase_into.png"), RotateCW("rotate_cw.png"), RotateCCW( "rotate_ccw.png"), ElementInto("element_into.png"), Arrow( "arrow.png"), Cloud("cloud.png"), CloudUp("cloud_up.png"), CloudGear( - "cloud_gear.png"), IdCardEdit("id_card_edit.png"); + "cloud_gear.png"), IdCardEdit("id_card_edit.png"), KeyEdit( + "key_edit.png"); protected String name; diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/key_edit.png b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/images/key_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..8e96508cf8c24616d95bab031b6d059fca78d9ca GIT binary patch literal 924 zcmV;N17rM&P)WdKBPATlr@MrC3kGB7YRATcvKGB!FhH6SZ6F)%P5}UQJWQi1KheheR1#wcEFG-D;ZrFa&Jvx{{ z^BS_fUjR<$1>jOy`EA=?Nb2j+bgj%=7sDt9=qSiWdm$2iPzD^H0xm}1kmFt?yU&XZhl1D`UvS+6+>bY7E(I2pl%%K%?lzU5KVI~l9-N3U z%M|q#-)HYCT^UIiO*zw7d!}Eu21yMDm;vK^;TCZell8IeAkzm#|5^~7cmae=MiD~l zh||^*Xd8IEh6>qitS6>Y8M)7aF+6-7N#T~~`AQOa^I747Rmx{m~>SLJz0000() { + + @Override + public UserEntity doInBackground() throws Exception { + return cloudPresenter.getUserDetails(); + } + + @Override + public void failed(Exception e) { + swingUI.showMessage( + "Failed to retreive user details from the server.", + "Cloud Error", IView.ERROR_MESSAGE); + } + + @Override + public void complete(UserEntity result) { + UserEditDialog dialog = DialogFactory.getInstance() + .createUserEditDialog(result); + dialog.setVisible(true); + } + }); + } + } + + class ChangePasswordAction extends AbstractAction { + + private static final long serialVersionUID = 1L; + + public ChangePasswordAction() { + super(); + putValue(AbstractAction.NAME, "Change Password"); + putValue(AbstractAction.SMALL_ICON, IconLoader.KeyEdit.getIcon()); + } + + @Override + public void actionPerformed(ActionEvent e) { + swingUI.executeBackgroundTask(new ITask() { + + @Override + public UserEntity doInBackground() throws Exception { + return cloudPresenter.getUserDetails(); + } + + @Override + public void failed(Exception e) { + swingUI.showMessage( + "Failed to retreive user details from the server.", + "Cloud Error", IView.ERROR_MESSAGE); + } + + @Override + public void complete(UserEntity result) { + UserEditDialog dialog = DialogFactory.getInstance() + .createUserEditDialog(result); + dialog.setVisible(true); + } + }); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UploadDialog.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UploadDialog.java index 9b911026..958ff6a5 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UploadDialog.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UploadDialog.java @@ -26,8 +26,8 @@ import javax.swing.event.ChangeListener; import org.diylc.common.DrawOption; import org.diylc.common.IPlugInPort; -import org.diylc.swing.plugins.cloud.presenter.CloudException; -import org.diylc.swing.plugins.cloud.presenter.CloudPresenter; +import org.diylc.plugins.cloud.presenter.CloudException; +import org.diylc.plugins.cloud.presenter.CloudPresenter; import org.diylc.swingframework.ButtonDialog; public class UploadDialog extends ButtonDialog { @@ -87,43 +87,38 @@ public class UploadDialog extends ButtonDialog { gbc.gridheight = 1; gbc.gridx = 1; gbc.weightx = 0; + gbc.insets = new Insets(4, 2, 2, 2); gbc.fill = GridBagConstraints.HORIZONTAL; mainPanel.add(new JLabel("Project Name: "), gbc); + + gbc.gridy = 1; + mainPanel.add(new JLabel("Category:"), gbc); + + gbc.gridy = 2; + mainPanel.add(new JLabel("Description: "), gbc); + + gbc.gridy = 3; + mainPanel.add(new JLabel("Keywords: "), gbc); gbc.gridx = 2; + gbc.gridy = 0; gbc.weightx = 1; + gbc.insets = new Insets(2, 2, 2, 2); mainPanel.add(getNameField(), gbc); - gbc.gridx = 1; gbc.gridy = 1; - gbc.weightx = 0; - mainPanel.add(new JLabel("Category:"), gbc); - - gbc.gridx = 2; - gbc.weightx = 1; mainPanel.add(getCategoryBox(), gbc); - gbc.gridx = 1; gbc.gridy = 2; - gbc.weightx = 0; - - mainPanel.add(new JLabel("Description: "), gbc); - - gbc.gridx = 2; gbc.weightx = 1; gbc.weighty = 1; gbc.fill = GridBagConstraints.BOTH; mainPanel.add(getDescriptionArea(), gbc); - - gbc.gridx = 1; + gbc.gridy = 3; - gbc.weightx = 0; - gbc.weighty = 0; - gbc.fill = GridBagConstraints.HORIZONTAL; - mainPanel.add(new JLabel("Keywords: "), gbc); - - gbc.gridx = 2; + gbc.weighty = 0; gbc.weightx = 1; + gbc.fill = GridBagConstraints.HORIZONTAL; mainPanel.add(getKeywordsField(), gbc); gbc.gridx = 0; diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/NewUserDialog.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UserEditDialog.java similarity index 82% rename from diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/NewUserDialog.java rename to diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UserEditDialog.java index f2ddeea2..a7293f9e 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/NewUserDialog.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/cloud/view/UserEditDialog.java @@ -17,12 +17,12 @@ import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -import org.diylc.swing.plugins.cloud.model.UserEntity; +import org.diylc.plugins.cloud.model.UserEntity; import org.diylc.swingframework.ButtonDialog; -public class NewUserDialog extends ButtonDialog { +public class UserEditDialog extends ButtonDialog { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private JPanel mainPanel; @@ -41,13 +41,15 @@ public class NewUserDialog extends ButtonDialog { private UserEntity existingEntity; - public NewUserDialog(JFrame owner, UserEntity existingEntity) { - super(owner, "New Account", new String[] { OK, CANCEL }); + public UserEditDialog(JFrame owner, UserEntity existingEntity) { + super(owner, existingEntity == null ? "New Account" : "Manage Account", + new String[] { OK, CANCEL }); + + this.existingEntity = existingEntity; + setMinimumSize(new Dimension(240, 32)); layoutGui(); - refreshState(); - userNameField.setText(System.getProperty("user.name")); - this.existingEntity = existingEntity; + refreshState(); } public String getUserName() { @@ -77,20 +79,22 @@ public class NewUserDialog extends ButtonDialog { mainPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); GridBagConstraints gbc = new GridBagConstraints(); - gbc.anchor = GridBagConstraints.LINE_START; + gbc.anchor = GridBagConstraints.NORTHWEST; gbc.fill = GridBagConstraints.NONE; - gbc.insets = new Insets(2, 2, 2, 2); + gbc.insets = new Insets(4, 2, 2, 2); gbc.gridx = 0; gbc.gridy = 0; mainPanel.add(new JLabel("User Name:"), gbc); - gbc.gridy = 1; - mainPanel.add(new JLabel("Password:"), gbc); + if (existingEntity == null) { + gbc.gridy = 1; + mainPanel.add(new JLabel("Password:"), gbc); - gbc.gridy = 2; - mainPanel.add(new JLabel("Confirm Password:"), gbc); + gbc.gridy = 2; + mainPanel.add(new JLabel("Confirm Password:"), gbc); + } gbc.gridy = 3; mainPanel.add(new JLabel("eMail:"), gbc); @@ -103,16 +107,19 @@ public class NewUserDialog extends ButtonDialog { gbc.gridx = 1; gbc.fill = GridBagConstraints.HORIZONTAL; + gbc.insets = new Insets(2, 2, 2, 2); gbc.weightx = 1; gbc.gridy = 0; mainPanel.add(getUserNameField(), gbc); - gbc.gridy = 1; - mainPanel.add(getPasswordField(), gbc); + if (existingEntity == null) { + gbc.gridy = 1; + mainPanel.add(getPasswordField(), gbc); - gbc.gridy = 2; - mainPanel.add(getConfirmPasswordField(), gbc); + gbc.gridy = 2; + mainPanel.add(getConfirmPasswordField(), gbc); + } gbc.gridy = 3; mainPanel.add(getEmailField(), gbc); @@ -148,7 +155,7 @@ public class NewUserDialog extends ButtonDialog { if (userNameField == null) { userNameField = new JTextField(); if (existingEntity != null) { - userNameField.setText(existingEntity.getUserName()); + userNameField.setText(existingEntity.getUsername()); userNameField.setEditable(false); } userNameField.getDocument().addDocumentListener( @@ -282,6 +289,9 @@ public class NewUserDialog extends ButtonDialog { bioArea = new JTextArea(); if (existingEntity != null) bioArea.setText(existingEntity.getBio()); + bioArea.setFont(getUserNameField().getFont()); + bioArea.setBorder(getUserNameField().getBorder()); + bioArea.setPreferredSize(new Dimension(192, 69)); bioArea.getDocument().addDocumentListener(new DocumentListener() { @Override diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/test/org/diylc/TableTest.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/test/org/diylc/TableTest.java index 825b343e..f5d5c55b 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/test/org/diylc/TableTest.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/test/org/diylc/TableTest.java @@ -8,7 +8,7 @@ import javax.swing.JFrame; import javax.swing.JScrollPane; import org.apache.log4j.BasicConfigurator; -import org.diylc.swing.plugins.cloud.model.ProjectEntity; +import org.diylc.plugins.cloud.model.ProjectEntity; import org.diylc.swingframework.objecttable.IActionProcessor; import org.diylc.swingframework.objecttable.ObjectListTable;