Changeset 3044 for molgenis_test
- Timestamp:
- 06/17/10 18:09:34 (20 months ago)
- Location:
- molgenis_test/3.3
- Files:
-
- 4 added
- 10 edited
-
.classpath (modified) (1 diff)
-
WebContent/META-INF/context.xml (modified) (1 diff)
-
WebContent/WEB-INF/molgenis-rdf-mapping.n3 (modified) (6 diffs)
-
build.xml (added)
-
handwritten/java/MolgenisGenerate.java (modified) (1 diff)
-
handwritten/java/MolgenisReplaceDatabase.java (modified) (1 diff)
-
handwritten/java/MolgenisTestOneGenerator.java (modified) (1 diff)
-
handwritten/java/plugin/login/DatabaseLogin.java (modified) (1 diff)
-
handwritten/java/plugin/login/UserLogin.java (modified) (1 diff)
-
handwritten/java/testng.xml (added)
-
molgenis.properties (modified) (1 diff)
-
molgenis.properties.psql (added)
-
molgenis.test.properties (added)
-
test_db.xml (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molgenis_test/3.3/.classpath
r2865 r3044 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <classpath> 3 <classpathentry kind="src" path="handwritten/java"/>3 <classpathentry excluding="org/molgenis/plugins/download/|org/molgenis/plugins/examples/file/|org/molgenis/plugins/DatabaseLogin.java|org/molgenis/plugins/LoginScreen.java|molgenis/test/mref/|org/molgenis/plugins/examples/" kind="src" path="handwritten/java"/> 4 4 <classpathentry kind="src" path="generated/sql"/> 5 5 <classpathentry kind="src" path="generated/java"/> -
molgenis_test/3.3/WebContent/META-INF/context.xml
r2003 r3044 8 8 password="molgenis" 9 9 driverClassName="com.mysql.jdbc.Driver" 10 url="jdbc:mysql://localhost/ molgenis_test"10 url="jdbc:mysql://localhost/test_molgenis_test" 11 11 removeAbandoned="true" 12 12 maxActive="8" -
molgenis_test/3.3/WebContent/WEB-INF/molgenis-rdf-mapping.n3
r2865 r3044 22 22 map:database a d2rq:Database; 23 23 d2rq:jdbcDriver "com.mysql.jdbc.Driver"; 24 d2rq:jdbcDSN "jdbc:mysql://localhost/ molgenis_test";24 d2rq:jdbcDSN "jdbc:mysql://localhost/test_molgenis_test"; 25 25 d2rq:username "molgenis"; 26 26 d2rq:password "molgenis"; … … 994 994 d2rq:pattern "guessMe #@@guessMe.guessMeId@@"; 995 995 . 996 map:guessMe_thename a d2rq:PropertyBridge; 997 d2rq:belongsToClassMap map:guessMe; 998 d2rq:property vocab:guessMe_thename; 999 d2rq:propertyDefinitionLabel "thename"; 1000 d2rq:propertyDefinitionComment "thename"; 1001 d2rq:column "guessMe.thename"; 1002 d2rq:datatype xsd:string; 1003 . 996 1004 map:guessMe_guessMeId a d2rq:PropertyBridge; 997 1005 d2rq:belongsToClassMap map:guessMe; … … 1070 1078 d2rq:class vocab:SimpleCompositKey; 1071 1079 d2rq:classDefinitionLabel ""; 1072 d2rq:classDefinitionComment "Test reference for composit keys without them being xrefs themselfs1073 1080 d2rq:classDefinitionComment "Test reference for composit keys without them being xrefs 1081 themselfs 1074 1082 "; 1075 1083 . … … 1111 1119 d2rq:class vocab:XrefCompositKey; 1112 1120 d2rq:classDefinitionLabel ""; 1113 d2rq:classDefinitionComment "Test reference for composit keys with one of them being xref themselfs1114 1121 d2rq:classDefinitionComment "Test reference for composit keys with one of them being xref 1122 themselfs 1115 1123 "; 1116 1124 . … … 1169 1177 d2rq:datatype xsd:int; 1170 1178 . 1179 map:SimpleMulticolXref_name a d2rq:PropertyBridge; 1180 d2rq:belongsToClassMap map:SimpleMulticolXref; 1181 d2rq:property vocab:SimpleMulticolXref_name; 1182 d2rq:propertyDefinitionLabel "name"; 1183 d2rq:propertyDefinitionComment "name"; 1184 d2rq:column "SimpleMulticolXref.name"; 1185 d2rq:datatype xsd:string; 1186 . 1171 1187 map:SimpleMulticolXref_multicol a d2rq:PropertyBridge; 1172 1188 d2rq:belongsToClassMap map:SimpleMulticolXref; … … 1200 1216 d2rq:datatype xsd:int; 1201 1217 . 1218 map:XrefMulticolXref_name a d2rq:PropertyBridge; 1219 d2rq:belongsToClassMap map:XrefMulticolXref; 1220 d2rq:property vocab:XrefMulticolXref_name; 1221 d2rq:propertyDefinitionLabel "name"; 1222 d2rq:propertyDefinitionComment "name"; 1223 d2rq:column "XrefMulticolXref.name"; 1224 d2rq:datatype xsd:string; 1225 . 1202 1226 map:XrefMulticolXref_multicol a d2rq:PropertyBridge; 1203 1227 d2rq:belongsToClassMap map:XrefMulticolXref; -
molgenis_test/3.3/handwritten/java/MolgenisGenerate.java
r2359 r3044 9 9 public static void main(String[] args) throws Exception 10 10 { 11 new Molgenis( ).generate();11 new Molgenis("molgenis.properties").generate(); 12 12 } 13 13 } -
molgenis_test/3.3/handwritten/java/MolgenisReplaceDatabase.java
r2755 r3044 5 5 public static void main(String[] args) throws Exception 6 6 { 7 new Molgenis( ).updateDb();7 new Molgenis("molgenis.properties").updateDb(); 8 8 } 9 9 } -
molgenis_test/3.3/handwritten/java/MolgenisTestOneGenerator.java
r2682 r3044 17 17 public static void main(String[] args) throws Exception 18 18 { 19 new Molgenis( CsvReaderGen.class, DataTypeGen.class, JDBCMetaDatabaseGen.class, MultiqueryMapperGen.class, FormScreenGen.class, MenuScreenGen.class, PluginScreenGen.class, HtmlFormGen.class).generate();19 new Molgenis("molgenis.properties", CsvReaderGen.class, DataTypeGen.class, JDBCMetaDatabaseGen.class, MultiqueryMapperGen.class, FormScreenGen.class, MenuScreenGen.class, PluginScreenGen.class, HtmlFormGen.class).generate(); 20 20 //new Molgenis(DataTypeGen.class).generate(); 21 21 //new Molgenis(DataTypeGen.class, MultiqueryMapperGen.class).generate(); -
molgenis_test/3.3/handwritten/java/plugin/login/DatabaseLogin.java
r2865 r3044 18 18 import org.molgenis.util.Entity; 19 19 20 public class DatabaseLogin implements Login21 {22 enum Permission23 {24 read, edit25 };26 27 /** The current use that has been authenticated (if any) */28 MolgenisUser user;29 /** The current user groups for this user */30 List<MolgenisUserGroup> groups;31 /** Map to quickly retrieve a permission */32 Map<String, Permission> permissionMap = new TreeMap<String, Permission>();33 /** for logging */34 Logger logger = Logger.getLogger(this.getClass().getSimpleName());35 36 @Override37 public QueryRule getRowlevelSecurityFilters(Entity entity)38 {39 if (entity instanceof RowLevelSecurity)40 {41 List<Integer> groupids = new ArrayList<Integer>();42 for (MolgenisUserGroup g : groups)43 groupids.add(g.getId());44 45 QueryRule q1 = new QueryRule("editableBy", Operator.IN, groupids);46 QueryRule q2 = new QueryRule("viewableBy", Operator.IN, groupids);47 q2.setOr(true);48 49 return new QueryRule(q1, q2);50 }51 52 return null;53 }54 55 @Override56 public Integer getUserId()57 {58 if (user != null) return user.getId();59 return null;60 }61 62 @Override63 public String getUserName()64 {65 if (user != null) return user.getName();66 return null;67 }68 69 @Override70 public <E extends Entity> boolean canEdit(Class<E> entityClass)71 {72 if (user != null && user.getSuperuser()) return true;73 if (permissionMap.get(entityClass.getName()) != null74 && permissionMap.get(entityClass.getName()).equals(Permission.edit))75 {76 // logger.debug("Checking edit permission for entity " +77 // entityClass.getName() + ": true");78 return true;79 }80 // logger.debug("Checking edit permission for entity " +81 // entityClass.getName() + ": false");82 return false;83 }84 85 @Override86 public <E extends Entity> boolean readAllowed(Class<E> entityClass)87 {88 89 if (user != null && user.getSuperuser()) return true;90 if (this.editAllowed(entityClass) || permissionMap.get(entityClass.getName()) != null91 && permissionMap.get(entityClass.getName()).equals(Permission.read))92 {93 // logger.debug("Checking read permission for entity " +94 // entityClass.getName() + ": true");95 return true;96 }97 // logger.debug("Checking read permission for entity " +98 // entityClass.getName() + ": false");99 return false;100 }101 102 @Override103 public boolean isAuthenticated()104 {105 return user != null;106 }107 108 @Override109 public boolean login(Database db, String name, String password)110 {111 // username is required112 if (name == null || "".equals(name)) return false;113 // password is required114 if (password == null || "".equals(password)) return false;115 116 try117 {118 MolgenisUser example = new MolgenisUser();119 example.setName(name);120 example.setPassword(password);121 example.setSuperuser(null);122 123 List<MolgenisUser> users = db.findByExample(example);124 if (users.size() == 1 && users.get(0).getName().equals(name) && users.get(0).getPassword().equals(password))125 {126 user = users.get(0);127 this.reload(db);128 return true;129 }130 }131 catch (Exception e)132 {133 e.printStackTrace();134 }135 return false;136 }137 138 @Override139 public void logout()140 {141 this.user = null;142 this.permissionMap.clear();143 }144 145 @Override146 public void reload(Database db) throws DatabaseException, ParseException147 {148 if (this.user == null) return;149 150 // // get the groups this user is member of151 groups = db.query(MolgenisUserGroup.class).equals("members", user.getId()).find();152 153 // create the permissions map154 permissionMap = new TreeMap<String, Permission>();155 156 for (MolgenisUserGroup group : groups)157 {158 // get the editable entities159 if (group.getAllowedToEdit().size() > 0)160 {161 List<MolgenisEntity> editableEntities = db.query(MolgenisEntity.class).in("id",162 group.getAllowedToEdit()).find();163 for (MolgenisEntity entity : editableEntities)164 {165 permissionMap.put(entity.getClassName(), Permission.edit);166 }167 }168 // get the viewable entities169 if (group.getAllowedToView().size() > 0)170 {171 List<MolgenisEntity> viewableEntities = db.query(MolgenisEntity.class).in("id",172 group.getAllowedToView()).find();173 for (MolgenisEntity entity : viewableEntities)174 {175 // only add if not already editable permission176 if (permissionMap.get(entity.getClassName()) == null)177 {178 permissionMap.put(entity.getClassName(), Permission.read);179 }180 }181 }182 }183 184 logger.debug(toString());185 }186 187 public String toString()188 {189 StringBuffer result = new StringBuffer();190 result.append("Login(user=" + this.getUserName() + " roles=");191 for (int i = 0; i < groups.size(); i++)192 {193 if (i > 0) result.append("," + groups.get(i).getName());194 else195 result.append(groups.get(i).getName());196 }197 for (String key : permissionMap.keySet())198 {199 result.append(" " + key + "=" + permissionMap.get(key));200 }201 result.append(")");202 203 return result.toString();204 }205 206 @Override207 public boolean isLoginRequired()208 {209 return false;210 }211 212 @Override213 public <E extends Entity> boolean editAllowed(E entity) throws DatabaseException214 {215 if (entity instanceof RowLevelSecurity)216 {217 for (MolgenisUserGroup g : groups)218 {219 if (((RowLevelSecurity) entity).getEditableBy().equals(g.getId()))220 {221 //logger.debug("Checking read permission for entity " + entity + ": true");222 return true;223 }224 }225 //logger.debug("Checking read permission for entity " + entity + ": false");226 return false;227 }228 //logger.debug("Checking read permission for entity " + entity + ": true");229 return true;230 }231 }20 //public class DatabaseLogin implements Login 21 //{ 22 // enum Permission 23 // { 24 // read, edit 25 // }; 26 // 27 // /** The current use that has been authenticated (if any) */ 28 // MolgenisUser user; 29 // /** The current user groups for this user */ 30 // List<MolgenisUserGroup> groups; 31 // /** Map to quickly retrieve a permission */ 32 // Map<String, Permission> permissionMap = new TreeMap<String, Permission>(); 33 // /** for logging */ 34 // Logger logger = Logger.getLogger(this.getClass().getSimpleName()); 35 // 36 // @Override 37 // public QueryRule getRowlevelSecurityFilters(Entity entity) 38 // { 39 // if (entity instanceof RowLevelSecurity) 40 // { 41 // List<Integer> groupids = new ArrayList<Integer>(); 42 // for (MolgenisUserGroup g : groups) 43 // groupids.add(g.getId()); 44 // 45 // QueryRule q1 = new QueryRule("editableBy", Operator.IN, groupids); 46 // QueryRule q2 = new QueryRule("viewableBy", Operator.IN, groupids); 47 // q2.setOr(true); 48 // 49 // return new QueryRule(q1, q2); 50 // } 51 // 52 // return null; 53 // } 54 // 55 // @Override 56 // public Integer getUserId() 57 // { 58 // if (user != null) return user.getId(); 59 // return null; 60 // } 61 // 62 // @Override 63 // public String getUserName() 64 // { 65 // if (user != null) return user.getName(); 66 // return null; 67 // } 68 // 69 // @Override 70 // public <E extends Entity> boolean canEdit(Class<E> entityClass) 71 // { 72 // if (user != null && user.getSuperuser()) return true; 73 // if (permissionMap.get(entityClass.getName()) != null 74 // && permissionMap.get(entityClass.getName()).equals(Permission.edit)) 75 // { 76 // // logger.debug("Checking edit permission for entity " + 77 // // entityClass.getName() + ": true"); 78 // return true; 79 // } 80 // // logger.debug("Checking edit permission for entity " + 81 // // entityClass.getName() + ": false"); 82 // return false; 83 // } 84 // 85 // @Override 86 // public <E extends Entity> boolean readAllowed(Class<E> entityClass) 87 // { 88 // 89 // if (user != null && user.getSuperuser()) return true; 90 // if (this.editAllowed(entityClass) || permissionMap.get(entityClass.getName()) != null 91 // && permissionMap.get(entityClass.getName()).equals(Permission.read)) 92 // { 93 // // logger.debug("Checking read permission for entity " + 94 // // entityClass.getName() + ": true"); 95 // return true; 96 // } 97 // // logger.debug("Checking read permission for entity " + 98 // // entityClass.getName() + ": false"); 99 // return false; 100 // } 101 // 102 // @Override 103 // public boolean isAuthenticated() 104 // { 105 // return user != null; 106 // } 107 // 108 // @Override 109 // public boolean login(Database db, String name, String password) 110 // { 111 // // username is required 112 // if (name == null || "".equals(name)) return false; 113 // // password is required 114 // if (password == null || "".equals(password)) return false; 115 // 116 // try 117 // { 118 // MolgenisUser example = new MolgenisUser(); 119 // example.setName(name); 120 // example.setPassword(password); 121 // example.setSuperuser(null); 122 // 123 // List<MolgenisUser> users = db.findByExample(example); 124 // if (users.size() == 1 && users.get(0).getName().equals(name) && users.get(0).getPassword().equals(password)) 125 // { 126 // user = users.get(0); 127 // this.reload(db); 128 // return true; 129 // } 130 // } 131 // catch (Exception e) 132 // { 133 // e.printStackTrace(); 134 // } 135 // return false; 136 // } 137 // 138 // @Override 139 // public void logout() 140 // { 141 // this.user = null; 142 // this.permissionMap.clear(); 143 // } 144 // 145 // @Override 146 // public void reload(Database db) throws DatabaseException, ParseException 147 // { 148 // if (this.user == null) return; 149 // 150 // // // get the groups this user is member of 151 // groups = db.query(MolgenisUserGroup.class).equals("members", user.getId()).find(); 152 // 153 // // create the permissions map 154 // permissionMap = new TreeMap<String, Permission>(); 155 // 156 // for (MolgenisUserGroup group : groups) 157 // { 158 // // get the editable entities 159 // if (group.getAllowedToEdit().size() > 0) 160 // { 161 // List<MolgenisEntity> editableEntities = db.query(MolgenisEntity.class).in("id", 162 // group.getAllowedToEdit()).find(); 163 // for (MolgenisEntity entity : editableEntities) 164 // { 165 // permissionMap.put(entity.getClassName(), Permission.edit); 166 // } 167 // } 168 // // get the viewable entities 169 // if (group.getAllowedToView().size() > 0) 170 // { 171 // List<MolgenisEntity> viewableEntities = db.query(MolgenisEntity.class).in("id", 172 // group.getAllowedToView()).find(); 173 // for (MolgenisEntity entity : viewableEntities) 174 // { 175 // // only add if not already editable permission 176 // if (permissionMap.get(entity.getClassName()) == null) 177 // { 178 // permissionMap.put(entity.getClassName(), Permission.read); 179 // } 180 // } 181 // } 182 // } 183 // 184 // logger.debug(toString()); 185 // } 186 // 187 // public String toString() 188 // { 189 // StringBuffer result = new StringBuffer(); 190 // result.append("Login(user=" + this.getUserName() + " roles="); 191 // for (int i = 0; i < groups.size(); i++) 192 // { 193 // if (i > 0) result.append("," + groups.get(i).getName()); 194 // else 195 // result.append(groups.get(i).getName()); 196 // } 197 // for (String key : permissionMap.keySet()) 198 // { 199 // result.append(" " + key + "=" + permissionMap.get(key)); 200 // } 201 // result.append(")"); 202 // 203 // return result.toString(); 204 // } 205 // 206 // @Override 207 // public boolean isLoginRequired() 208 // { 209 // return false; 210 // } 211 // 212 // @Override 213 // public <E extends Entity> boolean editAllowed(E entity) throws DatabaseException 214 // { 215 // if (entity instanceof RowLevelSecurity) 216 // { 217 // for (MolgenisUserGroup g : groups) 218 // { 219 // if (((RowLevelSecurity) entity).getEditableBy().equals(g.getId())) 220 // { 221 // //logger.debug("Checking read permission for entity " + entity + ": true"); 222 // return true; 223 // } 224 // } 225 // //logger.debug("Checking read permission for entity " + entity + ": false"); 226 // return false; 227 // } 228 // //logger.debug("Checking read permission for entity " + entity + ": true"); 229 // return true; 230 // } 231 //} -
molgenis_test/3.3/handwritten/java/plugin/login/UserLogin.java
r2755 r3044 1 / * Date: December 3, 20082 * Template: PluginScreenJavaTemplateGen.java.ftl3 * generator: org.molgenis.generate.screen.PluginScreenJavaTemplateGen 3.0.34 *5 * THIS FILE IS A TEMPLATE. PLEASE EDIT :-)6 */7 8 package plugin.login;9 10 import java.security.Security;11 12 import org.molgenis.framework.db.Database;13 import org.molgenis.framework.ui.PluginModel;14 import org.molgenis.framework.ui.ScreenMessage;15 import org.molgenis.framework.ui.ScreenModel;16 import org.molgenis.framework.ui.html.ActionInput;17 import org.molgenis.framework.ui.html.Form;18 import org.molgenis.framework.ui.html.PasswordInput;19 import org.molgenis.framework.ui.html.StringInput;20 import org.molgenis.util.Tuple;21 22 / **23 * This screen shows a login box, or if someone is already logged in, the user24 * information and a logout button.25 */26 public class UserLogin extends PluginModel27 {28 Security security;29 30 public UserLogin(String name, ScreenModel parent)31 {32 super(name, parent);33 security = this.getRootScreen().getLogin();34 }35 36 @Override37 public String getViewName()38 {39 return "plugins_auth_UserLogin";40 }41 42 @Override43 public String getViewTemplate()44 {45 return "plugin/login/UserLogin.ftl";46 }47 48 @Override49 public void handleRequest(Database db, Tuple request)50 {51 // reset messages52 this.setMessages();53 54 logger.debug(request);55 if ("Login".equals(request.getAction()))56 {57 boolean loggedIn = getLogin().login(db, request.getString("name"), request.getString("password"));58 if (!loggedIn)59 this.setMessages(new ScreenMessage("login failed: username or password unknown", false));60 else61 this.getRootScreen().setLogin(security);62 }63 else if ("Logout".equals(request.getAction()))64 {65 getLogin().logout();66 }67 }68 69 @Override70 public void reload(Database db)71 {72 // nothing todo, Login takes care of this.73 }74 75 // DUMMY FOR TESTING76 @Override77 public Security getLogin()78 {79 return security;80 }81 82 public Form getInputs()83 {84 Form f = new Form();85 86 if (getLogin().isAuthenticated())87 {88 f.add(new ActionInput("Logout"));89 }90 else91 {92 f.add(new ActionInput("Login"));93 f.add(new PasswordInput("password"));94 f.add(new StringInput("name"));95 }96 97 return f;98 }99 100 @Override101 public boolean isVisible()102 {103 // TODO Auto-generated method stub104 return true;105 }106 107 @Override108 public String getLabel()109 {110 if(getLogin().isAuthenticated())111 return "Welcome '"+getLogin().getUserName()+"'";112 return "Login";113 }114 }1 ///* Date: December 3, 2008 2 // * Template: PluginScreenJavaTemplateGen.java.ftl 3 // * generator: org.molgenis.generate.screen.PluginScreenJavaTemplateGen 3.0.3 4 // * 5 // * THIS FILE IS A TEMPLATE. PLEASE EDIT :-) 6 // */ 7 // 8 //package plugin.login; 9 // 10 //import java.security.Security; 11 // 12 //import org.molgenis.framework.db.Database; 13 //import org.molgenis.framework.ui.PluginModel; 14 //import org.molgenis.framework.ui.ScreenMessage; 15 //import org.molgenis.framework.ui.ScreenModel; 16 //import org.molgenis.framework.ui.html.ActionInput; 17 //import org.molgenis.framework.ui.html.Form; 18 //import org.molgenis.framework.ui.html.PasswordInput; 19 //import org.molgenis.framework.ui.html.StringInput; 20 //import org.molgenis.util.Tuple; 21 // 22 ///** 23 // * This screen shows a login box, or if someone is already logged in, the user 24 // * information and a logout button. 25 // */ 26 //public class UserLogin extends PluginModel 27 //{ 28 // Security security; 29 // 30 // public UserLogin(String name, ScreenModel parent) 31 // { 32 // super(name, parent); 33 // security = this.getRootScreen().getLogin(); 34 // } 35 // 36 // @Override 37 // public String getViewName() 38 // { 39 // return "plugins_auth_UserLogin"; 40 // } 41 // 42 // @Override 43 // public String getViewTemplate() 44 // { 45 // return "plugin/login/UserLogin.ftl"; 46 // } 47 // 48 // @Override 49 // public void handleRequest(Database db, Tuple request) 50 // { 51 // // reset messages 52 // this.setMessages(); 53 // 54 // logger.debug(request); 55 // if ("Login".equals(request.getAction())) 56 // { 57 // boolean loggedIn = getLogin().login(db, request.getString("name"), request.getString("password")); 58 // if (!loggedIn) 59 // this.setMessages(new ScreenMessage("login failed: username or password unknown", false)); 60 // else 61 // this.getRootScreen().setLogin(security); 62 // } 63 // else if ("Logout".equals(request.getAction())) 64 // { 65 // getLogin().logout(); 66 // } 67 // } 68 // 69 // @Override 70 // public void reload(Database db) 71 // { 72 // // nothing todo, Login takes care of this. 73 // } 74 // 75 // // DUMMY FOR TESTING 76 // @Override 77 // public Security getLogin() 78 // { 79 // return security; 80 // } 81 // 82 // public Form getInputs() 83 // { 84 // Form f = new Form(); 85 // 86 // if (getLogin().isAuthenticated()) 87 // { 88 // f.add(new ActionInput("Logout")); 89 // } 90 // else 91 // { 92 // f.add(new ActionInput("Login")); 93 // f.add(new PasswordInput("password")); 94 // f.add(new StringInput("name")); 95 // } 96 // 97 // return f; 98 // } 99 // 100 // @Override 101 // public boolean isVisible() 102 // { 103 // // TODO Auto-generated method stub 104 // return true; 105 // } 106 // 107 // @Override 108 // public String getLabel() 109 // { 110 // if(getLogin().isAuthenticated()) 111 // return "Welcome '"+getLogin().getUserName()+"'"; 112 // return "Login"; 113 // } 114 //} -
molgenis_test/3.3/molgenis.properties
r2755 r3044 73 73 exclude_system = true 74 74 # use mysql optimized statements instead of prepared statements 75 mapper_implementation = multiquery75 #mapper_implementation = multiquery 76 76 # mapping of inheritance on database tables 77 77 mapping_type = subclass_per_table -
molgenis_test/3.3/test_db.xml
r2865 r3044 29 29 <field name="id" type="autoid" /> 30 30 <field name="normalVarchar" label="Normal Varchar" type="varchar" 31 unique="true" />31 unique="true" length="127" /> 32 32 <field name="readonlyVarchar" label="Readonly Varchar" type="varchar" 33 33 readonly="true" /> … … 48 48 <entity name="TreeEntity"> 49 49 <field name="id" type="autoid" /> 50 <field name="name" type="varchar" />50 <field name="name" type="varchar" unique="true" /> 51 51 <field name="parent" type="xref" nillable="true" xref_entity="TreeEntity" 52 52 xref_field="id" xref_label="name" /> … … 173 173 </entity> 174 174 <entity name="guessMe"> 175 <field name="thename"/> 175 176 <field name="guessMeId" type="autoid" /> 176 177 </entity> … … 181 182 </module> 182 183 <module name="composit_labels"> 183 <entity name="Investigation" >184 <entity name="Investigation" xref_label="name"> 184 185 <field name="id" type="autoid" /> 185 186 <field name="name" unique="true" /> 186 187 </entity> 187 188 <entity name="SimpleCompositKey"> 188 <description>Test reference for composit keys without them being xrefs themselfs189 </description>189 <description>Test reference for composit keys without them being xrefs 190 themselfs</description> 190 191 <field name="id" type="autoid" /> 191 192 <field name="key1" /> 192 193 <field name="key2" /> 194 <unique fields="key1,key2" /> 193 195 </entity> 194 196 <entity name="XrefCompositKey"> 195 <description>Test reference for composit keys with one of them being xref themselfs196 </description>197 <field name="id" type="autoid" /> 198 <field name="investigation" type="xref" xref_entity="Investigation" xref_label="Name"/>197 <description>Test reference for composit keys with one of them being xref 198 themselfs</description> 199 <field name="id" type="autoid" /> 200 <field name="investigation" type="xref" xref_entity="Investigation" /> 199 201 <field name="name" /> 202 <unique fields="investigation,name" /> 200 203 </entity> 201 204 <entity name="SimpleMulticolXref"> 202 205 <field name="id" type="autoid" /> 206 <field name="name" /> 203 207 <field name="multicol" type="xref" xref_entity="SimpleCompositKey" 204 208 xref_label="key1,key2" /> … … 206 210 <entity name="XrefMulticolXref"> 207 211 <field name="id" type="autoid" /> 212 <field name="name" /> 208 213 <field name="multicol" type="xref" xref_entity="XrefCompositKey" 209 214 xref_label="investigation_name,name" /> 210 215 </entity> 211 216 </module> 212 <!--213 entity name="ImageEntity"> <field name="id" type="autoid" /> <field214 name="normalImage" label="Normal Image" type="image" /> <field215 name="readonlyImage" label="Readonly Image" type="image" readonly="true" />216 <field name="nillableImage" label="Nillable Image" type="image"217 nillable="true" /> </entity218 -->219 <!--220 entity name="DecoratedEntity" decorator="test.decorators.MyDecorator2">221 <field name="id" type="autoid" /> <field name="triggeredField"222 description="Triggerwill put something here..." /> </entity223 -->217 <!-- 218 entity name="ImageEntity"> <field name="id" type="autoid" /> <field 219 name="normalImage" label="Normal Image" type="image" /> <field 220 name="readonlyImage" label="Readonly Image" type="image" readonly="true" /> 221 <field name="nillableImage" label="Nillable Image" type="image" 222 nillable="true" /> </entity 223 --> 224 <!-- 225 entity name="DecoratedEntity" decorator="test.decorators.MyDecorator2"> <field 226 name="id" type="autoid" /> <field name="triggeredField" description="Trigger 227 will put something here..." /> </entity 228 --> 224 229 </molgenis>
Note: See TracChangeset
for help on using the changeset viewer.