2
0
Fork 0

[svn r359] WIP

This commit is contained in:
willemc 2008-12-06 22:32:41 +01:00
parent f401b61a6c
commit 8fc495c6b6
21 changed files with 385 additions and 53 deletions

View file

@ -158,43 +158,6 @@ public class BlogPost {
$it['ldap']['user']="uid=admin-sudo,ou=services,dc=m4n,dc=nl";
$it['ldap']['pass']="adminSudo";
$it['ldap']['baseDN']="ou=sudoers,dc=m4n,dc=nl";
$it['ldap']['key']="cn";
$it['columns'][0]['name']="Edit";
$it['columns'][0]['columnType']="edit";
$it['columns'][1]['name']="Delete";
$it['columns'][1]['columnType']="delete";
$it['columns'][2]['name']="User";
$it['columns'][2]['attr']="cn";
$it['columns'][3]['name']="Description";
$it['columns'][3]['attr']="description";
$it['columns'][4]['name']="sudoCommand";
$it['columns'][4]['attr']="sudocommand";
$it['columns'][4]['columnType']="list";
$it['columns'][5]['name']="sudoHost";
$it['columns'][5]['attr']="sudohost";
$it['columns'][5]['columnType']="list";
$it['columns'][6]['name']="sudoUser";
$it['columns'][6]['attr']="sudouser";
$it['columns'][6]['columnType']="list";
$it['list']['filter']="(&(objectClass=sudoRole))";
$it['list']['columns']="0,2,6,4,5,1";
$it['delete']['filter']="cn=%s";
$it['edit']['filter']="(cn=%s)";
$it['edit']['create_dn_key']="cn=%s";
$it['edit']['columns_edit']="2,3,4,5,6";
$it['edit']['columns_edit_readonly']="2";
$it['edit']['columns_create']="2,3,4,5,6";
$it['edit']['map']['objectclass'][]="sudoRole";
$it['edit']['map']['objectclass'][]="top";
$it['edit']['map']['cn']="\$key";
$it['edit']['map']['description']="\$formData['description']";
<servlet>
<name>vasc</name>
<class></class>
@ -208,11 +171,6 @@ $it['edit']['map']['description']="\$formData['description']";
</servlet-mapping>
DefaultVascController r = new D..();
r.set
EmployeeDataSource dataSource = new EmployeeDataSource();
dataSource.setJdbcTemplate(new JdbcTemplate(employeeDataSource()));
FilteringPaginator filteringPaginator = new FilteringPaginator(dataSource, EmployeeReportObject.class);
@ -228,8 +186,6 @@ dataSource.setJdbcTemplate(new JdbcTemplate(employeeDataSource()));
return adapter;
EVt;
<a4j:form id="blogForm" enctype="multipart/form-data">
@ -256,11 +212,6 @@ EVt;
</vasc:form>
</a4j:form>
Table def:
@SuppressWarnings({ "unchecked", "serial" })

25
doc/TODO.txt Normal file
View file

@ -0,0 +1,25 @@
- fix frontend event system
- make event channels work
- make sorting work
- make searching work
- made options work
- Plugin validation
- Plugin Role Parser
- Finalizer plugins
- X4O client/server config
- Check user roles in frontend
- Default/Full Table and templating
- Ckeck all validators
- Make annotations work.
- Bind to x18n
- MetaQuery support
- config prefix (and rest of default in finalizer)
- update SWT frontend
- create JSF frontend
- create JSF-extJS frontend
- create XML-RPC frontend
=== DONE ===

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -112,7 +112,7 @@ public class LdapVascBackend extends AbstractVascBackend {
Iterator i = attributeSet.iterator();
while (i.hasNext()) {
LDAPAttribute attr = (LDAPAttribute)i.next();
//System.out.println("ATTR: "+attr.getName()+" ... ");
System.out.println("ATTR: "+attr.getName()+" value: "+attr.getStringValue());
map.put(attr.getName(), attr.getStringValueArray());
}
@ -203,6 +203,9 @@ public class LdapVascBackend extends AbstractVascBackend {
public Object getValue(VascEntryField field, Object record) throws VascException {
Map<String,Object> map = (Map<String,Object>)record;
String[] r = (String[])map.get(field.getBackendName());
if (r==null) {
return ""; // create new value, ldap does not return data for field that an user does not have, but other do,...
}
if (r.length==1) {
return r[0];
}

View file

@ -29,6 +29,7 @@ package com.idcanet.vasc.core;
/**
* Resolvs all the resolvers.
* These resolved often point to an external locations.
*
* @author Willem Cazander
* @version 1.0 Sep 11, 2008
@ -57,4 +58,10 @@ public interface VascController {
* @return Returns the VascEventChannelControllerResolver
*/
public VascEventChannelControllerResolver getVascEventChannelControllerResolver();
/**
*
* @return Returns the VascUserRoleControllerResolver
*/
public VascUserRoleControllerResolver getVascUserRoleControllerResolver();
}

View file

@ -0,0 +1,44 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.core;
import java.util.List;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public interface VascUserRoleController {
public Long getUserId();
public String getUserName();
public List<String> getUserRoles();
}

View file

@ -0,0 +1,38 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.core;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public interface VascUserRoleControllerResolver {
public VascUserRoleController getVascUserRoleController();
}

View file

@ -0,0 +1,37 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.core.ui;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public interface VascUIActionComponent extends VascUIComponent {
}

View file

@ -0,0 +1,37 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.core.ui;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public interface VascUIActionComponentListener {
}

View file

@ -53,7 +53,7 @@ public class SwingBoolean implements VascUIComponent {
public Object createComponent(VascEntry table,VascEntryField entryField,VascValueModel model,Object gui) throws Exception {
checkBox = new JCheckBox();
orgBackgroundColor = checkBox.getBackground();
checkBox.setSelected((Boolean)model.getValue());
checkBox.setSelected(new Boolean(model.getValue().toString()));
((JComponent)gui).add(checkBox);
checkBox.addActionListener(new SelectActionListener(model,table));
return checkBox;

View file

@ -31,6 +31,7 @@ import com.idcanet.vasc.core.VascController;
import com.idcanet.vasc.core.VascEntryControllerResolver;
import com.idcanet.vasc.core.VascEntryFieldTypeControllerResolver;
import com.idcanet.vasc.core.VascEventChannelControllerResolver;
import com.idcanet.vasc.core.VascUserRoleControllerResolver;
/**
*
@ -44,6 +45,7 @@ public class DefaultVascController implements VascController {
private VascEntryControllerResolver vascEntryControllerResolver = null;
private VascEntryFieldTypeControllerResolver vascEntryFieldTypeControllerResolver = null;
private VascEventChannelControllerResolver vascEventChannelControllerResolver = null;
private VascUserRoleControllerResolver vascUserRoleControllerResolver = null;
/**
* @return the vascEventChannelControllerResolver
@ -101,4 +103,19 @@ public class DefaultVascController implements VascController {
public void setVascEntryFieldTypeControllerResolver(VascEntryFieldTypeControllerResolver vascEntryFieldTypeControllerResolver) {
this.vascEntryFieldTypeControllerResolver = vascEntryFieldTypeControllerResolver;
}
/**
* @return the vascUserRoleControllerResolver
*/
public VascUserRoleControllerResolver getVascUserRoleControllerResolver() {
return vascUserRoleControllerResolver;
}
/**
* @param vascUserRoleControllerResolver the vascUserRoleControllerResolver to set
*/
public void setVascUserRoleControllerResolver(
VascUserRoleControllerResolver vascUserRoleControllerResolver) {
this.vascUserRoleControllerResolver = vascUserRoleControllerResolver;
}
}

View file

@ -0,0 +1,55 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.impl;
import com.idcanet.vasc.core.VascEventChannelController;
import com.idcanet.vasc.core.VascEventChannelControllerResolver;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public class DefaultVascEventChannelControllerResolver implements VascEventChannelControllerResolver {
private VascEventChannelController vascEventChannelController = null;
/**
* @return the vascEventChannelController
*/
public VascEventChannelController getVascEventChannelController() {
return vascEventChannelController;
}
/**
* @param vascEventChannelController the vascEventChannelController to set
*/
public void setVascEventChannelController(
VascEventChannelController vascEventChannelController) {
this.vascEventChannelController = vascEventChannelController;
}
}

View file

@ -0,0 +1,55 @@
/*
* Copyright 2004-2007 IDCA. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and
* the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the authors and
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
*/
package com.idcanet.vasc.impl;
import com.idcanet.vasc.core.VascUserRoleController;
import com.idcanet.vasc.core.VascUserRoleControllerResolver;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 19, 2008
*/
public class DefaultVascUserRoleControllerResolver implements VascUserRoleControllerResolver {
private VascUserRoleController vascUserRoleController = null;
/**
* @return the vascUserRoleController
*/
public VascUserRoleController getVascUserRoleController() {
return vascUserRoleController;
}
/**
* @param vascUserRoleController the vascUserRoleController to set
*/
public void setVascUserRoleController(
VascUserRoleController vascUserRoleController) {
this.vascUserRoleController = vascUserRoleController;
}
}

View file

@ -9,14 +9,14 @@
bindUser="uid=admin-sudo,ou=services,dc=m4n,dc=nl"
bindPass="adminSudo"
/>
<v:ldapBackend
id="ldapBackendSudoers"
ldapConnectionProvider="${ldapSudoers}"
baseDN="ou=sudoers,dc=m4n,dc=nl"
keyAttribute="cn"
ldapFilter="(&amp;(objectClass=sudoRole))"
/>
/>
<v:entry id="sudoers" backendId="ldapBackendSudoers">
<v:field id="user" backendName="cn" readOnly="true"/>
<v:field id="description" rolesEdit="admin" rolesList="all"/>
@ -39,6 +39,69 @@
</v:entry>
<v:simpleLdapConnectionProvider
el.id="ldapUsers"
ldapHost="ldap2.lan.mbuyu.nl"
bindUser="uid=admin-users,ou=services,dc=m4n,dc=nl"
bindPass="superAU"
/>
<v:ldapBackend
id="ldapBackendUsers"
ldapConnectionProvider="${ldapUsers}"
baseDN="ou=users,dc=m4n,dc=nl"
keyAttribute="uid"
ldapFilter="(&amp;(objectClass=posixAccount))"
/>
<v:entry id="users" backendId="ldapBackendUsers">
<v:field id="uid" />
<v:field id="uidNumber" vascEntryFieldType="IntegerField"/>
<v:field id="gidNumber" vascEntryFieldType="IntegerField"/>
<v:field id="loginShell" list="false"/>
<v:field id="homeDirectory" list="false"/>
<v:field id="cn" list="false"/>
<v:field id="givenName" />
<v:field id="sn" />
<v:field id="mailbox" list="false"/>
<v:field id="mail" vascEntryFieldType="EmailField"/>
<v:field id="mailActive" vascEntryFieldType="BooleanField"/>
<v:field id="alias" vascEntryFieldType="MultiTextField" list="false"/>
<v:field id="autoResponseActive" vascEntryFieldType="BooleanField" />
<v:field id="autoResponseMessage" vascEntryFieldType="TextAreaField" list="false"/>
<v:field id="sambaAcctFlags" list="false"/>
<v:field id="sambaPrimaryGroupSID" list="false"/>
<v:field id="sambaSID" list="false"/>
<v:field id="m4nVPNActive" vascEntryFieldType="BooleanField"/>
<v:field id="m4nDateInService" />
<v:field id="m4nDateOutService" />
<v:field id="m4nUserId" vascEntryFieldType="IntegerField"/>
<v:field id="m4nHosts" vascEntryFieldType="MultiTextField"/>
</v:entry>
<v:simpleLdapConnectionProvider
el.id="ldapMachines"
ldapHost="ldap2.lan.mbuyu.nl"
bindUser="uid=samba,ou=services,dc=m4n,dc=nl"
bindPass="superS"
/>
<v:ldapBackend
id="ldapBackendMachines"
ldapConnectionProvider="${ldapMachines}"
baseDN="ou=machines,dc=m4n,dc=nl"
keyAttribute="uid"
ldapFilter="(&amp;(objectClass=sambaSamAccount))"
/>
<v:entry id="machines" backendId="ldapBackendMachines">
<v:field id="uid" />
<v:field id="sambaAcctFlags"/>
<v:field id="sambaSID" />
<v:field id="uidNumber" />
</v:entry>
<v:entry id="test1" backendId="testBackend1">
<v:field id="name" defaultValue=""/>
<v:field id="description" vascEntryFieldType="EmailField" defaultValue="email@address.nl"/>