Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Visual Editor (VE) » Parse error on a custom panel ArrayIndexOutOfBoundsException
Parse error on a custom panel ArrayIndexOutOfBoundsException [message #614590] Fri, 01 September 2006 09:28
Eclipse UserFriend
Originally posted by: blumbroso.yahoo.fr

Hello,

I write a custom panel to manage a wizard and visual editor works well
with it but i have an error in the error log when i open the panel:
java.lang.ArrayIndexOutOfBoundsException: -1
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:5 14)

i have some custom attribute in my bean, i think it can come from it, but
the
error is not clear...

if you remove the comment // @jve
visual editor goes in nullPointerException!!!

do you know to remove the error ArrayIndexOutOfBoundsException ?

Thanks

the source code :
package com.misys.gpl.editor;

import java.beans.EventSetDescriptor;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;

import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.SWT;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.internal.presentations.util.TabDragHandler;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;

import com.sun.org.apache.bcel.internal.generic.CPInstruction;

public class WizardPanel extends Composite {

private FormToolkit formToolkit = null; //
@jve:decl-index=0:visual-constraint=""

private Composite composite = null;

private Button cancelButton = null;

String maChaine;


private Button finishButton = null;

private Button nextButton = null;

private Button backButton = null;

private Composite[] panelSteps;

private int currentStep = 0;

private CTabFolder ivjTabFolder;

public WizardPanel(Composite parent, int style) {
super(parent, style);
initialize();
}

private void initialize() {
GridData gridData = new GridData();
gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.heightHint = 4;
Composite separator = getFormToolkit().createCompositeSeparator(this);
separator.setLayoutData(gridData);
this
.setBackground(Display.getCurrent().getSystemColor(
SWT.COLOR_WHITE));
createComposite();
setSize(new Point(500, 57));
setLayout(new GridLayout());

}

private void manageEnabledButtons() {

backButton.setEnabled(!(currentStep == 0));
nextButton.setEnabled((currentStep + 1 < panelSteps.length));
finishButton.setEnabled((currentStep == panelSteps.length-1));
ivjTabFolder.setSelection(currentStep);
}

/**
* This method initializes formToolkit
*
* @return org.eclipse.ui.forms.widgets.FormToolkit
*/
private FormToolkit getFormToolkit() {
if (formToolkit == null) {
formToolkit = new FormToolkit(Display.getCurrent());
}
return formToolkit;
}

/**
* This method initializes composite
*
*/
private void createComposite() {
GridData gridData2 = new GridData();
gridData2.horizontalAlignment = org.eclipse.swt.layout.GridData.END;
gridData2.grabExcessHorizontalSpace = true;
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 4;
GridData gridData1 = new GridData();
gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
gridData1.grabExcessHorizontalSpace = true;
composite = getFormToolkit().createComposite(this);
composite.setLayoutData(gridData1);
composite.setLayout(gridLayout);
backButton = new Button(composite, SWT.NONE);
backButton.setText("Back");
backButton.setLayoutData(gridData2);
backButton.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
backPressed();
}

});
nextButton = new Button(composite, SWT.NONE);
nextButton.setText("Next");
nextButton.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
nextPressed();
}
});
finishButton = new Button(composite, SWT.NONE);
finishButton.setText("Finish");
finishButton.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
finishPressed();
}

});
cancelButton = getFormToolkit().createButton(composite, "Cancel",
SWT.PUSH);
cancelButton
.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
cancelPressed();
}

});
}

private void nextPressed() {
setCurrentTabItem(currentStep + 1);
for(int i=currentStep+1;i<panelSteps.length;i++) {
ivjTabFolder.getItem(i).dispose();
}

}

private void backPressed() {
setCurrentTabItem(currentStep - 1);

}
public void cancelPressed() {

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActi vePage().closeEditor(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActi vePage().getActiveEditor(),
false);
}

private void finishPressed() {
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActi vePage().closeEditor(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActi vePage().getActiveEditor(),
false);


}
public String getMaChaine() {
return maChaine;
}

public void setMaChaine(String maChaine) {
this.maChaine = maChaine;
}


public void setPanelSteps(CTabFolder tabFolder, Composite[] panelSteps) {
this.panelSteps = panelSteps;
this.ivjTabFolder = tabFolder;

for (Composite current:panelSteps) {
current.setVisible(false);
}

setCurrentTabItem(0);
}

public void setCurrentTabItem(int index) {
currentStep = index;
if (currentStep>=ivjTabFolder.getItemCount()) {
CTabItem ctabItem = new CTabItem(ivjTabFolder,SWT.NONE); // @jve
panelSteps[currentStep].setVisible(true);
ctabItem.setControl(panelSteps[currentStep]);
ctabItem.setText( panelSteps[currentStep].getData().toString() );
ivjTabFolder.getParent().layout();
}
manageEnabledButtons();
}

}










error detail :
eclipse.buildId=M20060629-1905
java.version=1.6.0-beta2
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
Command-line arguments: -os win32 -ws win32 -arch x86 -clean

Error
Fri Sep 01 10:59:02 CEST 2006
Exception thrown.

java.lang.ArrayIndexOutOfBoundsException: -1
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:5 14)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObjectF orURIFragmentRootSegment(ResourceImpl.java:642)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject( ResourceImpl.java:692)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject( ResourceImpl.java:671)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.setValueFromId(XML Handler.java:2511)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.setAttribValue(XML Handler.java:2439)
at
org.eclipse.emf.ecore.xmi.impl.SAXXMIHandler.handleObjectAtt ribs(SAXXMIHandler.java:74)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFa ctory(XMLHandler.java:1929)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromTy peName(XMLHandler.java:1833)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObject(XMLHa ndler.java:1768)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLH andler.java:1576)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XML Handler.java:876)
at
org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMI Handler.java:82)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:854)
at
org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:626)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .startElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocume ntParser.emptyElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScanner Impl.scanStartElement(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl$FragmentContentDriver.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScanner Impl.next(Unknown
Source)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl.scanDocument(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(Unknown
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(U nknown
Source)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .parse(Unknown
Source)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSA XParser.parse(Unknown
Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl. java:179)
at
org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLRes ourceImpl.java:179)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1089)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:895)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:249)
at
org.eclipse.jem.internal.util.emf.workbench.ProjectResourceS etImpl.demandLoad(ProjectResourceSetImpl.java:83)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:264)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:390)
at
org.eclipse.jem.internal.util.emf.workbench.ProjectResourceS etImpl.getResource(ProjectResourceSetImpl.java:262)
at
org.eclipse.ve.internal.java.codegen.util.VEModelCacheUtilit y.doLoadFromCache(VEModelCacheUtility.java:103)
at
org.eclipse.ve.internal.java.codegen.core.VEModelInstance.cr eateComposition(VEModelInstance.java:100)
at
org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.reConnect(JavaSourceTranslator.java:1134)
at
org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.decodeDocument(JavaSourceTranslator.java:910)
at
org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.loadModel(JavaSourceTranslator.java:597)
at
org.eclipse.ve.internal.java.codegen.editorpart.JavaVisualEd itorPart$Setup.run(JavaVisualEditorPart.java:1978)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Previous Topic:Development Plan
Next Topic:JAR Files with Eclipse
Goto Forum:
  


Current Time: Thu Sep 26 00:47:11 GMT 2024

Powered by FUDForum. Page generated in 0.03767 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top