I made the self-contained *runnable* example.
Meantime, there is anything that you can tell me about the problem on filter editor?
Meantime, there is anything that you can tell me about the problem on filter editor?
package it.testgwt.client; import com.smartgwt.client.data.DataSource; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.History; import com.google.gwt.user.client.HistoryListener; import com.smartgwt.client.types.DateDisplayFormat; import com.smartgwt.client.types.ListGridEditEvent; import com.smartgwt.client.types.RowEndEditAction; import com.smartgwt.client.types.TextMatchStyle; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.events.RecordDoubleClickEvent; import com.smartgwt.client.widgets.grid.events.RecordDoubleClickHandler; import com.smartgwt.client.widgets.layout.VLayout; public class Main implements EntryPoint, HistoryListener { static ListGrid staticBanks; public void onModuleLoad() { try{ final String initToken = History.getToken(); VLayout main = new VLayout() { protected void onInit() { super.onInit(); if (initToken.length() != 0) { onHistoryChanged(initToken); } } }; main.setWidth(1900); main.setHeight(920); DataSource dataSource = DataSource.get("gwtest"); ListGridField bankIdField = new ListGridField("BANKID"); bankIdField.setTitle("Bank Id"); bankIdField.setHidden(true); bankIdField.setWidth("12%"); ListGridField bankNameField = new ListGridField("BANKNAME"); bankNameField.setTitle("Bank name"); bankNameField.setWidth("12%"); ListGridField abiCodeField = new ListGridField("ABICODE"); abiCodeField.setTitle("ABI code"); abiCodeField.setWidth("8%"); ListGridField bloomCodeField = new ListGridField("BLOOMBCODE"); bloomCodeField.setTitle("Bloomberg code"); bloomCodeField.setWidth("8%"); ListGridField fitchCodeField = new ListGridField("FITCHCODE"); fitchCodeField.setTitle("Fitch code"); fitchCodeField.setWidth("8%"); ListGridField calculationField = new ListGridField("STATUS"); calculationField.setTitle("Calculation"); calculationField.setWidth("8%"); ListGridField counterpartyField = new ListGridField("CTP"); counterpartyField.setTitle("Counterparty"); counterpartyField.setWidth("8%"); ListGridField participantField = new ListGridField("PARTICIPNT"); participantField.setTitle("Participant"); participantField.setWidth("8%"); ListGridField countryField = new ListGridField("COUNTRY"); countryField.setTitle("Country"); countryField.setWidth("10%"); ListGridField parBnkNameField = new ListGridField("PARBNKNAME"); parBnkNameField.setTitle("Parent company name"); parBnkNameField.setWidth("10%"); ListGridField parBnkBlCdField = new ListGridField("PARBNKBLCD"); parBnkBlCdField.setTitle("Parent company bloomber ticker"); parBnkBlCdField.setWidth("10%"); ListGridField parBnkTickField = new ListGridField("PARBNKTICK"); parBnkTickField.setTitle("Holding bloomberg ticker"); parBnkTickField.setWidth("10%"); //CREO LA TABELLA staticBanks = new ListGrid(); staticBanks.setWidth100(); staticBanks.setHeight100(); staticBanks.setFields(bankIdField,bankNameField,abiCodeField,bloomCodeField,fitchCodeField,calculationField,counterpartyField ,participantField,countryField,parBnkNameField,parBnkBlCdField ,parBnkTickField); staticBanks.setTitle("Banks Static Data"); staticBanks.setDataSource(dataSource); staticBanks.setShowDetailFields(true); staticBanks.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE); staticBanks.setShowFilterEditor(true); staticBanks.setDataPageSize(40); staticBanks.setModalEditing(true); staticBanks.setFilterOnKeypress(false); staticBanks.setListEndEditAction(RowEndEditAction.NEXT); staticBanks.setAutoSaveEdits(true); staticBanks.setAutoFetchData(true); staticBanks.setEditEvent(ListGridEditEvent.NONE); staticBanks.setAutoFetchTextMatchStyle(TextMatchStyle.SUBSTRING); staticBanks.addRecordDoubleClickHandler(new RecordDoubleClickHandler() { @Override public void onRecordDoubleClick(RecordDoubleClickEvent event) { staticBanks.startEditing(event.getRecordNum(), event.getFieldNum(), true); } }); main.addMember(staticBanks); main.draw(); History.addHistoryListener(this); }catch(Exception e){ SC.say(e.getMessage()); } } @Override public void onHistoryChanged(String arg0) { // TODO Auto-generated method stub } }
package it.testgwt.data; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.isomorphic.datasource.BasicDataSource; import com.isomorphic.datasource.DSRequest; import com.isomorphic.datasource.DSResponse; import com.isomorphic.util.DataTools; public class BData extends BasicDataSource { public DSResponse executeAdd(DSRequest req) throws Exception { System.out.println("executeAdd"); Map createdRecord = createRecord(req.getValues()); return new DSResponse(createdRecord); } public DSResponse executeFetch(DSRequest req) throws Exception { System.out.println("executeFetch"); List records = fetchRecords(req.getCriteria()); return new DSResponse(records); } public DSResponse executeRemove(DSRequest req) throws Exception { System.out.println("executeRemove"); Map removedRecord = removeRecord(req.getValues().get(getPrimaryKey())); return new DSResponse(removedRecord); } public DSResponse executeUpdate(DSRequest req) throws Exception { System.out.println("executeUpdate"); Map updatedRecord = updateRecord(req.getValues()); return new DSResponse(updatedRecord); } // ----------------------------------------------------------------------------------------- // Code for actual data creation and manipulation. // // You can replace code below to implement any data access approah you actually want to use. // // ----------------------------------------------------------------------------------------- private static List data = new ArrayList(); private static int nextId; // Hard-coded data store static { System.out.println("staic"); int[] BANKID = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48}; System.out.println("BANKID"); String[] BANKNAME = {"B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13", "B14", "B15", "B16", "B17", "B18", "B19", "B20", "B21", "B22", "B23", "B24", "B25", "B26", "B27", "B28", "B29", "B30", "B31", "B32", "B33", "B34", "B35", "B36", "B37", "B38", "B39", "B40", "B41", "B42", "B43", "B44", "B45", "B46", "B47", "B48"}; System.out.println("BANKNAME"); int[] ABICODE = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48}; System.out.println("ABICODE"); int[] BLOOMBCODE = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48}; System.out.println("BLOOMBCODE"); int[] FITCHCODE = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48}; System.out.println("FITCHCODE"); String[] STATUS = {"D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D"}; System.out.println("STATUS"); String[] CTP = {"D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D"}; System.out.println("CTP"); String[] PARTICIPNT = {"D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D", "D"}; System.out.println("PARTICIPNT"); String[] COUNTRY = {"JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA", "JPN", "USA", "USA"}; System.out.println("COUNTRY"); String[] PARBNKNAME = {"_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_"}; System.out.println("PARBNKNAME"); String[] PARBNKBLCD = {"_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_"}; System.out.println("PARBNKBLCD"); String[] PARBNKTICK = {"_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_"}; System.out.println("PARBNKTICK"); Timestamp[] UPDDATE = {new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime()), new Timestamp(new Date(2013,8,13,9,52,43).getTime())}; System.out.println("UPDDATE"); String[] UPDTYPE = {"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C"}; System.out.println("UPDTYPE"); String[] UPDUSR = {"user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user", "user"}; System.out.println("UPDUSR"); System.out.println("for"); for (int i = 0; i < BANKID.length; i++) { Map map = new HashMap(); map.put("BANKID", BANKID[i]); map.put("BANKNAME", BANKNAME[i]); map.put("ABICODE", ABICODE[i]); map.put("BLOOMBCODE", BLOOMBCODE[i]); map.put("FITCHCODE", FITCHCODE[i]); map.put("STATUS", STATUS[i]); map.put("CTP", CTP[i]); map.put("PARTICIPNT", PARTICIPNT[i]); map.put("COUNTRY", COUNTRY[i]); map.put("PARBNKNAME", PARBNKNAME[i]); map.put("PARBNKBLCD", PARBNKBLCD[i]); map.put("PARBNKTICK", PARBNKTICK[i]); map.put("UPDDATE", UPDDATE[i]); map.put("UPDTYPE", UPDTYPE[i]); map.put("UPDUSR", UPDUSR[i]); System.out.println("data add"); data.add(map); } System.out.println("next id"); nextId = (BANKID[BANKID.length-1]) + 1; } // Sets autoincrement id and adds new record to list. private Map createRecord (Map values) { System.out.println("createRecord"); values.put(getPrimaryKey(), new Integer(nextId++)); data.add(values); return values; } // Returns full data list. // This sample does not support server side sorting/filtering. private List fetchRecords (Map criteria) { System.out.println("fetchRecords"); return data; } // Finds record by id. Removes it if found. // Returns removed record or null if there was no such record. private Map removeRecord (Object id) { System.out.println("removeRecord"); Number idNum = (Number) id; Map map = findById(idNum); boolean removed = false; if (map != null) { removed = data.remove(map); } if (removed) { return map; } else { return null; } } // Finds record by id. Updates it if found. // Returns updated record or null if there was no such record. private Map updateRecord (Map values) { System.out.println("updateRecord"); Number idNum = (Number) values.get(getPrimaryKey()); Map map = findById(idNum); if (map != null) { DataTools.mapMerge(values, map); return map; } else { return null; } } // Finds record by id. private Map findById (Number id) { System.out.println("findById"); if (id != null) { Integer integerId = id.intValue(); for (int i = 0; i < data.size(); i++) { Map record = (Map)data.get(i); if (integerId.equals(record.get(getPrimaryKey()))) { return record; } } } return null; } }
<DataSource ID="gwtest" serverConstructor="it.testgwt.data.BData"> <fields> <field title="Bank Id" name="BANKID" primaryKey="true" detail="true" type="sequence" width="70" align="left" cellAlign="left" canFilter="true" canEdit="false"></field> <field title="Bank name" name="BANKNAME" required="true" type="text" length="255" width="12%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="ABI code" name="ABICODE" required="false" length="20" type="integer" width="8%" canFilter="true" canEdit="true" detail="true"></field> <field title="Bloomberg code" name="BLOOMBCODE" required="false" type="integer" width="8%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Fitch code" name="FITCHCODE" required="false" type="integer" width="8%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Calculation" name="STATUS" required="true" length="1" type="text" width="8%" canFilter="false" canEdit="true" align="left" cellAlign="left" detail="false"> <valueMap> <value ID="E">Enabled</value> <value ID="D">Disabled</value> </valueMap> </field> <field title="Counterparty" name="CTP" required="true" type="text" width="8%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"> <valueMap> <value ID="E">Enabled</value> <value ID="D">Disabled</value> </valueMap> </field> <field title="Participant" name="PARTICIPNT" required="true" type="text" width="8%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"> <valueMap> <value ID="E">Enabled</value> <value ID="D">Disabled</value> </valueMap> </field> <field title="Country" name="COUNTRY" required="false" type="text" length="30" width="10%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Parent company name" name="PARBNKNAME" required="false" type="text" width="10%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Parent company bloomber ticker" name="PARBNKBLCD" required="false" type="text" width="10%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Holding bloomberg ticker" name="PARBNKTICK" required="false" type="text" width="10%" canFilter="true" canEdit="true" align="left" cellAlign="left" detail="false"></field> <field title="Update date" name="UPDDATE" type="datetime" width="100" align="left" cellAlign="left" canEdit="false" detail="true" hidden="true"></field> <field title="Update type" name="UPDTYPE" type="text" escapeHTML="true" canEdit="false" length="1" width="100" align="left" cellAlign="left" detail="true" hidden="true"> <valueMap> <value ID="C">Create</value> <value ID="U">Update</value> <value ID="D">Delete</value> </valueMap> </field> <field title="Update user" name="UPDUSR" length="30" type="text" escapeHTML="true" canEdit="false" width="100" align="left" cellAlign="left" detail="true" hidden="true"></field> </fields> <!-- <operationBindings> <operationBinding operationType="update" requiresRole="user,admin"></operationBinding> <operationBinding operationType="delete" requiresRole="user,admin"></operationBinding> <operationBinding operationType="add" requiresRole="user,admin" allowMultiUpdate="true"></operationBinding> <operationBinding operationType="fetch" requiresRole="user,admin"> <orderClause>BANKNAME asc</orderClause> </operationBinding> </operationBindings> --> </DataSource>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test gwt</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" language="javascript" src="testgwt/testgwt.nocache.js"></script> <!--script type="text/javascript" language="javascript" src="http://localhost:9080/InternalRatingWeb/irweb/sc/modules/ISC_Analytics.js"></script--> <script src="sc/DataSourceLoader?dataSource=gwtest"></script> </head> <body> </body> </html>
Internal validation error java.lang.NullPointerException at org.eclipse.wst.jsdt.internal.compiler.flow.UnconditionalFlowInfo.getLocalID(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.flow.UnconditionalFlowInfo.markAsDefinitelyAssigned(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.analyseAssignment(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.Assignment.analyseCode (Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.Block.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.IfStatement.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.Block.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.IfStatement.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.analyseCode(Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.Compiler.process (Unknown Source) at org.eclipse.wst.jsdt.internal.compiler.Compiler.compile(Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.compile (Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.build(Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.buildAll (Unknown Source) at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.build(Unknown Source) at org.eclipse.core.internal.events.BuildManager$2.run(Unknown Source) at org.eclipse.core.runtime.SafeRunner.run(Unknown Source) at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source) at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source) at org.eclipse.core.internal.events.BuildManager$1.run(Unknown Source) at org.eclipse.core.runtime.SafeRunner.run(Unknown Source) at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source) at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source) at org.eclipse.core.internal.events.BuildManager.build(Unknown Source) at org.eclipse.core.internal.resources.Project$1.run(Unknown Source) at org.eclipse.core.internal.resources.Workspace.run(Unknown Source) at org.eclipse.core.internal.resources.Project.internalBuild(Unknown Source) at org.eclipse.core.internal.resources.Project.build(Unknown Source) at org.eclipse.ui.actions.BuildAction.invokeOperation(Unknown Source) at org.eclipse.ui.actions.WorkspaceAction.execute (Unknown Source) at org.eclipse.ui.actions.WorkspaceAction$2.runInWorkspace(Unknown Source) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(Unknown Source) at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Comment