2
Fork 0

[svn r346] WIP, with working x4o and simple ldap backend for listing end editing entries

This commit is contained in:
willemc 2008-11-18 22:04:23 +01:00
parent 5d64bde0bd
commit f401b61a6c
60 changed files with 1756 additions and 585 deletions

View file

@ -26,10 +26,15 @@
package com.idcanet.vasc;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.InputStream;
import java.util.logging.LogManager;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import com.idcanet.vasc.core.VascEntry;
@ -57,16 +62,43 @@ public class SwingTest extends TestCase {
public void testAll() throws Exception {
JFrame.setDefaultLookAndFeelDecorated(false);
VascEntry entry = TestTable.getVascTable();
JFrame frame = viewEntry(entry);
while (frame.isVisible()) {
Thread.sleep(1000);
}
}
public JFrame viewEntry(final VascEntry entry) throws Exception {
// get GUI
JFrame frame = new JFrame();
frame.setTitle("Vasc Test - Swing");
frame.setTitle("Vasc Test - Swing - "+entry.getName());
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocationRelativeTo(null);
// get table
VascEntry entry = TestTable.getVascTable();
JMenuBar menubar = new JMenuBar();
JMenu vascMenu = new JMenu("Vasc Entries");
for (final String id:entry.getVascFrontendData().getVascController().getVascEntryControllerResolver().getVascEntryController().getVascEntryIds()) {
JMenuItem item = new JMenuItem(id);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
VascEntry ee = entry.getVascFrontendData().getVascController().getVascEntryControllerResolver().getVascEntryController().getVascEntryById(id);
TestTable.fill(ee,entry.getVascFrontendData().getVascController());
viewEntry(ee);
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
vascMenu.add(item);
}
menubar.add(vascMenu);
frame.setJMenuBar(menubar);
// define redering
JPanel panel = new JPanel();
SwingVascFrontend render = new SwingVascFrontend(panel);
@ -74,18 +106,12 @@ public class SwingTest extends TestCase {
// render
render.initEntry(entry);
//table.getTableColumns().get(0).set
//render.renderEdit(table.getTableData().get(0));
render.renderView();
// view
frame.pack();
frame.setVisible(true);
while (frame.isVisible()) {
Thread.sleep(1000);
}
return frame;
}
}

View file

@ -32,7 +32,6 @@ import java.util.Date;
import com.idcanet.vasc.core.VascController;
import com.idcanet.vasc.core.VascEntry;
import com.idcanet.vasc.core.VascEntryField;
import com.idcanet.vasc.core.ui.VascList;
import com.idcanet.vasc.impl.DefaultVascBackedEntryFinalizer;
import com.idcanet.vasc.impl.DefaultVascBackendController;
import com.idcanet.vasc.impl.DefaultVascBackendControllerResolver;
@ -50,12 +49,9 @@ 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.entry.BeanVascEntryRecordCreator;
import com.idcanet.vasc.impl.entry.BeanPropertyVascEntryFieldValue;
import com.idcanet.vasc.impl.entry.DefaultVascEntryResourceResolver;
import com.idcanet.vasc.impl.type.DefaultVascEntryFieldTypeController;
import com.idcanet.vasc.impl.type.DefaultVascEntryFieldTypeControllerResolver;
import com.idcanet.vasc.models.TestModel;
import com.idcanet.vasc.impl.x4o.VascParser;
/**
@ -69,7 +65,7 @@ public class TestTable {
// for test
TestModelVascDataSource backend = new TestModelVascDataSource();
backend.setId("testBackend");
backend.setId("testBackend1");
// config full controller for local jvm use
DefaultVascController c = new DefaultVascController();
@ -87,6 +83,7 @@ public class TestTable {
DefaultVascEntryFieldTypeControllerResolver vascEntryFieldTypeControllerResolver = new DefaultVascEntryFieldTypeControllerResolver();
DefaultVascEntryFieldTypeController vascEntryFieldTypeController = new DefaultVascEntryFieldTypeController();
//vascEntryFieldTypeController.
vascEntryFieldTypeControllerResolver.setVascEntryFieldTypeController(vascEntryFieldTypeController);
c.setVascEntryFieldTypeControllerResolver(vascEntryFieldTypeControllerResolver);
@ -94,19 +91,10 @@ public class TestTable {
}
static public VascEntry getVascTable() throws Exception {
VascController c = getDefaultVascController();
// config table
VascEntry entry = new DefaultVascEntry();
entry.setId("test1");
entry.setBackendId("testBackend");
static public void fill(VascEntry entry,VascController c) {
DefaultVascFrontendData vascFrontendData = new DefaultVascFrontendData();
vascFrontendData.setVascBackend(c.getVascBackendControllerResolver().getVascBackendController().getVascBackendById("testBackend"));
vascFrontendData.setVascController(c);
VascI18nTextValue vascEntryResourceResolver = new VascI18nTextValue();// new DefaultVascEntryResourceResolver();
vascFrontendData.setVascEntryResourceResolver(vascEntryResourceResolver);
@ -114,7 +102,7 @@ public class TestTable {
vascFrontendData.setVascFrontendHelper(vascFrontendHelper);
entry.setVascFrontendData(vascFrontendData);
entry.addRowAction(new AddRowAction());
entry.addRowAction(new EditRowAction());
entry.addRowAction(new DeleteRowAction());
@ -122,7 +110,28 @@ public class TestTable {
entry.addGlobalAction(new XMLExportGlobalAction());
entry.addGlobalAction(new CSVExportGlobalAction());
entry.addGlobalAction(new RefreshDataGlobalAction());
}
static public VascEntry getVascTable() throws Exception {
VascController c = getDefaultVascController();
VascParser parser = new VascParser(c);
parser.parseResource("resources/vasc/tables.xml");
VascEntry entry = parser.getVascController().getVascEntryControllerResolver().getVascEntryController().getVascEntryById("test1");
fill(entry,c);
// config table
//VascEntry entry = new DefaultVascEntry();
//entry.setId("test1");
//entry.setBackendId("testBackend");
/*
//table.addUserOptions(userOption);
//table.addColumnActions(new GraphColumnAction());
@ -131,6 +140,7 @@ public class TestTable {
entry.addVascEntryField(field);
field = new DefaultVascEntryField("description");
field.setVascEntryFieldType(c.getVascEntryFieldTypeControllerResolver().getVascEntryFieldTypeController().getVascEntryFieldTypeById("EmailField"));
entry.addVascEntryField(field);
field = new DefaultVascEntryField("active");
@ -142,19 +152,14 @@ public class TestTable {
entry.addVascEntryField(field);
field = new DefaultVascEntryField("testModel");
//field.setVascEntryFieldType(c.getVascEntryFieldTypeControllerResolver().getVascEntryFieldTypeController().getVascEntryFieldTypeById("TextField"));
//field.getVascEntryFieldType()
VascList list = new VascList();
list.setVascSelectItemModel((TestModelVascDataSource)c.getVascBackendControllerResolver().getVascBackendController().getVascBackendById("testBackend"));
//field.setVascUIComponent(list);
field.setVascEntryFieldType(c.getVascEntryFieldTypeControllerResolver().getVascEntryFieldTypeController().getVascEntryFieldTypeById("ListField"));
field.getVascEntryFieldType().setDataObject(c.getVascBackendControllerResolver().getVascBackendController().getVascBackendById("testBackend"));
entry.addVascEntryField(field);
field = new DefaultVascEntryField("hexColor");
field.setVascEntryFieldType(c.getVascEntryFieldTypeControllerResolver().getVascEntryFieldTypeController().getVascEntryFieldTypeById("ColorField"));
field.setDefaultValue("#FF3355");
//VascColorChooser ui = new VascColorChooser();
//ui.setHexSwingEncoding(true);
//field.setVascUIComponent(ui);
entry.addVascEntryField(field);
printEntry(entry);
@ -165,6 +170,7 @@ public class TestTable {
DefaultVascFrontendEntryFinalizer f2 = new DefaultVascFrontendEntryFinalizer();
entry = f2.finalizeVascEntry(entry,c);
//printEntry(entry);
*/
return entry;
}