2
0
Fork 0

[svn r340] WIP commit

This commit is contained in:
willemc 2008-09-08 02:07:46 +02:00
parent a40c22f13a
commit 435a26f4d6
108 changed files with 8325 additions and 680 deletions

View file

@ -32,8 +32,7 @@ import java.util.logging.LogManager;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.idcanet.vasc.core.VascTable;
import com.idcanet.vasc.impl.swing.SwingVascViewRenderer;
import com.idcanet.vasc.core.VascEntry;
import junit.framework.TestCase;
@ -55,6 +54,15 @@ public class SwingTest extends TestCase {
public void tearDown() throws Exception {
}
/*
- default view field
- Admin fields and order
- Admin field groups -> 'collapse
- List filters auto by type
- search fields
*/
public void testAll() throws Exception {
JFrame.setDefaultLookAndFeelDecorated(false);
@ -75,6 +83,8 @@ public class SwingTest extends TestCase {
// render
render.initTable(table);
//table.getTableColumns().get(0).set
//render.renderEdit(table.getTableData().get(0));
render.renderView();

View file

@ -30,7 +30,11 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.idcanet.vasc.core.AbstractVascDataSource;
import com.idcanet.vasc.core.AbstractVascBackend;
import com.idcanet.vasc.core.VascEntry;
import com.idcanet.vasc.core.VascEntryField;
import com.idcanet.vasc.core.entry.VascEntryFieldValue;
import com.idcanet.vasc.core.entry.VascEntryRecordCreator;
import com.idcanet.vasc.core.ui.VascSelectItem;
import com.idcanet.vasc.core.ui.VascSelectItemModel;
import com.idcanet.vasc.models.TestModel;
@ -40,7 +44,7 @@ import com.idcanet.vasc.models.TestModel;
* @author Willem Cazander
* @version 1.0 Mar 21, 2007
*/
public class TestModelVascDataSource extends AbstractVascDataSource implements VascSelectItemModel {
public class TestModelVascDataSource extends AbstractVascBackend implements VascSelectItemModel {
private List<Object> testModels = null;
@ -93,4 +97,12 @@ public class TestModelVascDataSource extends AbstractVascDataSource implements V
}
return res;
}
public VascEntryFieldValue provideVascEntryFieldValue(VascEntryField field) {
return null;
}
public VascEntryRecordCreator provideVascEntryRecordCreator(VascEntry vascEntry) {
return null;
}
}

View file

@ -28,13 +28,11 @@ package com.idcanet.vasc;
import java.util.Date;
import com.idcanet.vasc.core.VascTable;
import com.idcanet.vasc.core.column.VascAnnotationTableColumn;
import com.idcanet.vasc.core.column.VascTableColumn;
import com.idcanet.vasc.core.ui.VascColorChooser;
import com.idcanet.vasc.core.VascEntry;
import com.idcanet.vasc.core.VascEntryField;
import com.idcanet.vasc.core.ui.VascList;
import com.idcanet.vasc.core.ui.VascTextField;
import com.idcanet.vasc.impl.BeanVascRecordCreator;
import com.idcanet.vasc.impl.DefaultVascEntry;
import com.idcanet.vasc.impl.DefaultVascEntryField;
import com.idcanet.vasc.impl.DefaultVascTableController;
import com.idcanet.vasc.impl.actions.AddRowAction;
import com.idcanet.vasc.impl.actions.CSVExportGlobalAction;
@ -42,7 +40,8 @@ import com.idcanet.vasc.impl.actions.DeleteRowAction;
import com.idcanet.vasc.impl.actions.EditRowAction;
import com.idcanet.vasc.impl.actions.RefreshDataGlobalAction;
import com.idcanet.vasc.impl.actions.XMLExportGlobalAction;
import com.idcanet.vasc.impl.column.BeanPropertyVascColumnValue;
import com.idcanet.vasc.impl.entry.BeanVascEntryRecordCreator;
import com.idcanet.vasc.impl.entry.BeanPropertyVascEntryFieldValue;
import com.idcanet.vasc.models.TestModel;
@ -53,7 +52,7 @@ import com.idcanet.vasc.models.TestModel;
*/
public class TestTable {
static public VascTable getVascTable() throws Exception {
static public VascEntry getVascTable() throws Exception {
// define query
/*
@ -67,69 +66,70 @@ public class TestTable {
TestModelVascDataSource data = new TestModelVascDataSource();
// config table
VascTable table = new VascTable();
table.setName("Testje");
table.setHeaderName("Test Table enzo");
table.setHeaderToolTip("Met een hele coole tooltip");
table.setHeaderImage("/resources/images/gabelfresser.gif");
table.setHelpId("someKey");
table.setVascTableController(new DefaultVascTableController());
table.setVascDataSource(data);
VascEntry entry = new DefaultVascEntry();
entry.setName("Testje");
entry.setHeaderName("Test Table enzo");
entry.setHeaderDescription("Met een hele coole tooltip");
entry.setHeaderImage("/resources/images/gabelfresser.gif");
entry.setHelpId("someKey");
//entry.setVascTableController(new DefaultVascTableController());
entry.setVascBackend(data);
//table.setVascTextValue(new DefaultVascTextValue());
table.setVascTextValue(new VascI18nTextValue());
table.setVascRecordCreator(new BeanVascRecordCreator(TestModel.class));
table.addRowActions(new AddRowAction());
table.addRowActions(new EditRowAction());
table.addRowActions(new DeleteRowAction());
entry.setVascEntryResourceResolver(new VascI18nTextValue());
// entry.setVascEntryRecordCreator(new BeanVascEntryRecordCreator(TestModel.class));
entry.addRowAction(new AddRowAction());
entry.addRowAction(new EditRowAction());
entry.addRowAction(new DeleteRowAction());
table.addGlobalActions(new XMLExportGlobalAction());
table.addGlobalActions(new CSVExportGlobalAction());
entry.addGlobalAction(new XMLExportGlobalAction());
entry.addGlobalAction(new CSVExportGlobalAction());
//table.addGlobalActions(new HTMLExportGlobalAction());
table.addGlobalActions(new RefreshDataGlobalAction());
entry.addGlobalAction(new RefreshDataGlobalAction());
//table.addUserOptions(userOption);
//table.addColumnActions(new GraphColumnAction());
VascTableColumn column = new VascTableColumn();
column.setName("test");
column.setToolTip("tooltip");
column.setDefaultValue("DEFFFFFF");
column.setHelpId("helpColumnKey");
column.setImage("/META-INF/images/silk/png/tick.png");
column.setWidth(400);
column.setVascUIComponent(new VascTextField());
// column.setVascColumnRenderer(new DefaultVascColumnRenderer());
column.setVascColumnValue(new BeanPropertyVascColumnValue("name"));
table.addTableColumns(column);
VascEntryField field = new DefaultVascEntryField();
field.setName("test");
field.setDescription("tooltip");
field.setDefaultValue("DEFFFFFF");
field.setHelpId("helpColumnKey");
field.setImage("/META-INF/images/silk/png/tick.png");
field.setVascEntryFieldType(vascEntryFieldType)
field.setVascEntryFieldValue(new BeanPropertyVascEntryFieldValue("name"));
entry.addVascEntryField(field);
column = new VascAnnotationTableColumn("description");
table.addTableColumns(column);
/*
field = new VascAnnotationTableColumn("description");
entry.addVascField(field);
column = new VascAnnotationTableColumn("active");
column.setDefaultValue(true);
table.addTableColumns(column);
field = new VascAnnotationTableColumn("active");
field.setDefaultValue(true);
entry.addVascField(field);
column = new VascAnnotationTableColumn("date");
column.setDefaultValue(new Date());
table.addTableColumns(column);
field = new VascAnnotationTableColumn("date");
field.setDefaultValue(new Date());
entry.addVascField(field);
column = new VascAnnotationTableColumn("testModel");
field = new VascAnnotationTableColumn("testModel");
VascList list = new VascList();
list.setVascSelectItemModel(data);
column.setVascUIComponent(list);
table.addTableColumns(column);
field.setVascUIComponent(list);
entry.addVascField(field);
column = new VascAnnotationTableColumn("hexColor");
column.setDefaultValue("#FF3355");
VascColorChooser ui = new VascColorChooser();
ui.setHexSwingEncoding(true);
column.setVascUIComponent(ui);
table.addTableColumns(column);
field = new VascAnnotationTableColumn("hexColor");
field.setDefaultValue("#FF3355");
//VascColorChooser ui = new VascColorChooser();
//ui.setHexSwingEncoding(true);
//field.setVascUIComponent(ui);
entry.addVascField(field);
*/
return table;
return entry;
}
}

View file

@ -31,14 +31,15 @@ import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.logging.Logger;
import com.idcanet.vasc.core.VascTextValue;
import com.idcanet.vasc.core.entry.VascEntryResourceResolver;
/**
*
* @author Willem Cazander
* @version 1.0 Aug 2, 2007
*/
public class VascI18nTextValue implements VascTextValue {
public class VascI18nTextValue implements VascEntryResourceResolver {
private String getKeyMapping(String key) {

View file

@ -31,6 +31,7 @@ import java.util.Date;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Max;
import org.w3c.dom.Node;
import com.idcanet.vasc.annotations.VascColumnWidth;
import com.idcanet.vasc.annotations.VascDefaultValue;
@ -39,6 +40,9 @@ import com.idcanet.vasc.annotations.VascImage;
import com.idcanet.vasc.annotations.VascModelReference;
import com.idcanet.vasc.annotations.VascName;
import com.idcanet.vasc.annotations.VascToolTip;
import com.idcanet.vasc.validator.VascDateFuture;
import com.idcanet.vasc.validator.VascObjectNotNull;
import com.idcanet.vasc.validator.VascStringLength;
/**
* TestModel
@ -57,10 +61,12 @@ public class TestModel {
private Date date = null;
private TestModel testModel = null;
private String hexColor = null;
private Node nonEditorField = null;
/**
* @return the date
*/
@VascDateFuture
public Date getDate() {
return date;
}
@ -83,6 +89,8 @@ public class TestModel {
@VascImage(image="/resources/images/gabelfresser.gif")
@NotNull
@Max(value=10)
@VascObjectNotNull
@VascStringLength(max=10)
public String getDescription() {
return description;
}
@ -125,7 +133,7 @@ public class TestModel {
@VascImage(image="/resources/images/gabelfresser.gif")
@VascModelReference
@NotNull
@Max(value=10)
@VascObjectNotNull
public TestModel getTestModel() {
return testModel;
}

View file

@ -0,0 +1,224 @@
<?xml version="1.0" encoding="UTF-8"?>
<xtes xmlns="http://xtes.idcanet.com/eld/xtes-lang.eld"
xmlns:x4o="http://x4o.idcanet.com/eld/x4o-lang.eld"
>
<!--
- View
- States
- Tables
- Columns
Master
- Details
-->
<x4o:bean el.id="dataSource" bean.class="com.id.."/>
<x4o:bean el.id="tableController" bean.class="com.id.."/>
<v:vascView name="test1">
<v:vascTableController>
</v:vascTableController>
<v:vascBackendController>
<v:vascJDBCQueryController>
<x4o:property name="list">select id,name,blog_status_id,description,slug from blog_post</x4o:property>
<x4o:property name="update">update (id,name,blog_status_id,description,slug) values(?,?,?,?,?) from blog_post where id=?</x4o:property>
<x4o:property name="create">instert into (id,name,blog_status_id,description,slug) values(?,?,?,?,?) from blog_post where id=?</x4o:property>
<x4o:property name="delete">delete from blog_post where id=?</x4o:property>
</v:vascJDBCQueryController>
</v:vascBackendController>
<v:vascField name="">
<v:vascFieldOptions/>
<v:vascFieldChoises/>
</v:vascField>
<v:vascField name="">
<v:vascUserRoles list="admin"/>
</v:vascField>
</v:vascView>
<x4o:template el.id="ldapServerTemplate">
<v:ldapConnection name="main">
<x4o:property name="connectionUrl" value="ldaps://ldap.office.mbuyu.nl"/>
</v:ldapConnection>
</x4o:template>
<v:ldapConnection el.id="sudoers" x4o.templates="ldapServerTemplate">
<x4o:property name="user" value="uid=admin-sudo,ou=services,dc=m4n,dc=nl"/>
<x4o:property name="pass" value="adminSudo"/>
<x4o:property name="baseDn" value="ou=sudoers,dc=m4n,dc=nl"/>
</v:ldapConnection>
<x4o:template el.id="sudoTemplate">
<v:field name="user" backendName="cn" readOnly="true"/>
<v:field name="description" backendName="description"/>
<v:field name="sudoCommand" fieldEditor="listField"/>
<v:field name="sudoHost" fieldEditor="listField"/>
<v:field name="sudoUser" fieldEditor="listField"/>
</x4o:template>
<x4o:template el.id="sambaUserSchema">
<v:field name="sambaSID" fieldEditor="textField" edit="false" list="false" view="false" create="false" defaultValue="S-1-5-21-1200182392-965607725-1867741125-514"/>
<v:field name="sambaGroupType" v.defaultValue="2"/>
</x4o:template>
<v:viewController name="ldapUsers" primaryKey="user">
<x4o:templateTag template="${posixUserSchema}"/>
<x4o:templateTag template="${sambaUserSchema}">
<!-- template overrideing -->
<v:field name="sambaGroupType" v.defaultValue="3"/>
</x4o:templateTag>
<!-- redifine overrideing -->
<v:field name="sambaGroupType" v.defaultValue="4"/>
</v:viewController>
<v:viewController name="sudoers" primaryKey="user">
<v:field name="user" backendName="cn" readOnly="true"/>
<v:field name="description" backendName="description">
<v:roles edit="admin" list="all"/>
</v:field>
<v:field name="sudoCommand" fieldEditor="listField"/>
<v:field name="sudoHost" fieldEditor="listField"/>
<v:field name="sudoUser" fieldEditor="listField"/>
<v:field name="sambaSID" fieldEditor="textField" edit="false" list="false" view="false" create="false" defaultValue="S-1-5-21-1200182392-965607725-1867741125-514"/>
<v:field name="sambaGroupType" v.defaultValue="2"/>
<v:field name="gidNumber" v.defaultValue="nextUidNumber();"/>
<v:field name="objectclass" v.defaultValue="{posixGroup,sambaGroupMapping,top}"/>
<v:fieldSet name="extraOptions" optional="true">
<v:field name="sudoHost" defaultValue="localhost"/>
</v:fieldSet>
<v:ldapNextIdFunction name="nextUidNumber" ldapFilter="(&(objectClass=posixGroup))" ldapAttribute="gidnumber"/>
<v:listeners hook="post_create">
<etc:loginToFtpServer/>
</v:listeners>
<v:link fieldName="user" viewController="ldapUsers" parameterName="user_cn"/>
<v:link fieldName="gidNumber" viewController="ldapGroups" parameterName="group_key,${baseDn}"/>
<v:detail fieldName="gidNumber" detailController="${ldapGroups}"/>
<!-- default are oke here
<v:createView allField="true"/>
<v:editView allField="true" inverse="true">
<v:fieldName name="description"/>
</v:editView>
-->
<v:ldapBackend ldapConnection="${sudoers}">
<x4o:property name="list_filter">(&(objectClass=sudoRole))</x4o:property>
<x4o:property name="delete">${baseDn},cn=%s</x4o:property>
<x4o:property name="new_classes">sudoRole,top</x4o:property>
</v:ldapBackend>
</v:viewController>
<jsf-vasc:viewManager controller="${sudoers}">
</jsf-vasc:viewManager>
<table
name = "myTable1"
vascDataSource = "${dataSource}"
vascRecordBeanCreatorClass="com.id.models.User"
vascTextValue="${vascI18nController}"
vascTableController = "${tableController}"
UIIdentifierVascTableColomn = "${idColumn}"
>
<actions:addRowAction/>
<actions:DeleteRowAction/>
<actions:editRowAction/>
<action:csvExportAction/>
<action:xmlExportAction/>
<action:refreshDataAction/>
<option:comboBoxOption />
<colum el.id="idColumn"
name="test"
toolTip="test"
defaultValue="true"
width="30"
helpId="test"
image="ergens"
editDisplay="true"
editReadonly="false"
listDisplay="true"
>
<bind:beanColumnValue />
<ui:vascToggle />
</colum>
</table>
<view>
</view>
<!--
<xslt>
# Convert from xml -> csv and html or xitext
</xslt>
-->
<query name="limit">
<sql>
LIMIT <parameter name="limit"/>
</sql>
<parameterValue name="limit" value="10" defaultValue="200" type="parameter"/>
</query>
<query name="paging" type="hql">
<sql>
OFFSET <parameter name="offset"/>
<include name="limit"/>
</sql>
<parameterValue name="offset" value="0" defaultValue="0" type="parameter"/>
</query>
<query name="baseSelect">
<x4o:property name="executionTimeout" value="200"/>
<x4o:property name="cacheTimeout" value="99"/>
<x4o:property name="jdniConnection" value="somewhere"/>
<sql>
SELECT
USERS.USERNAME AS USERNAME
USERS.PASSWD AS PASSWORD
FROM
USERS
</sql>
<comment>Bla bla</comment>
<comment>Also see this site http://www.google.com</comment>
</query>
<query name="testUsers2" type="hql">
<x4o:property name="persistanceSession" value="sessionName"/>
<sql>
<!-- SOME COMMENT -->
<include name="baseSelect"/>
<parameter name="extra_where"/>
AND role is in <parameter name="roles"/>
<include name="paging"/>
</sql>
<parameterValue name="extra_where" defaultValue="WHERE true=true" type="raw"/>
<parameterValue name="roles" value="1,12,99,200" type="parameterList"/>
<parameterValue name="limit" value="15"/>
<parameterValue name="offset" value="25"/>
</query>
</xtes>