Handler conflict

I am having problems creating a bean (from the Pat Talbot’s tutorial, How to build a bean for Servoy - Part 2)
under Servoy v6 and Java 1.7.

When I create the jar, the bean does not show up in the “place bean” list, even after re-starting servoy.

Looking at the workspace/.metadata/.log file, I have some errors (see below)

Are these related?

Thanks,
Larry Long


!ENTRY org.eclipse.ui 4 4 2011-09-21 14:06:39.218
!MESSAGE Invalid preference page path: HTML Syntax
!SESSION 2011-09-21 14:06:50.658 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui.workbench 2 0 2011-09-21 14:06:56.478
!MESSAGE A handler conflict occurred. This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2011-09-21 14:06:56.478
!MESSAGE Conflict for ‘AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction’:
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@1e1d53d),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@1e1d53d)),sourcePriority=16640)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@1e1d53d),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@1e1d53d)),sourcePriority=16640)

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:06:59.464
!MESSAGE Time taken to read in the solution beans_test: 205

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:07:00.715
!MESSAGE Time taken to read in the solution eir: 44

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:10:45.646
!MESSAGE Time taken to read in the solution mod_dialog: 40

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:10:46.541
!MESSAGE Time taken to read in the solution servoy_sample_bug_db: 434

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:10:47.640
!MESSAGE Time taken to read in the solution servoy_sample_crm: 171

!ENTRY com.servoy.eclipse.model 4 0 2011-09-21 14:10:47.955
!MESSAGE Unexpected Exception
!STACK 0
com.servoy.j2db.persistence.RepositoryException: The dataprovider globals.core_const_2 or column solution_id does not exist as defined in the relation gconst2_to_solution_preferences
at com.servoy.j2db.persistence.Relation.makePrimaryDataProviders(Relation.java:699)
at com.servoy.j2db.persistence.Relation.getPrimaryDataProviders(Relation.java:568)
at com.servoy.eclipse.debug.script.TypeProvider.addRelations(TypeProvider.java:1285)
at com.servoy.eclipse.debug.script.TypeProvider.access$4(TypeProvider.java:1275)
at com.servoy.eclipse.debug.script.TypeProvider$RelationsScopeCreator.createType(TypeProvider.java:928)
at com.servoy.eclipse.debug.script.TypeCreator.createDynamicType(TypeCreator.java:358)
at com.servoy.eclipse.debug.script.TypeProvider.createDynamicType(TypeProvider.java:405)
at com.servoy.eclipse.debug.script.TypeProvider.createDynamicType(TypeProvider.java:401)
at com.servoy.eclipse.debug.script.TypeCreator.getType(TypeCreator.java:270)
at com.servoy.eclipse.debug.script.TypeProvider.getType(TypeProvider.java:223)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2$InvariantTypeResourceSet.loadType(TypeInferencer2.java:634)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2$InvariantTypeResourceSet.getType(TypeInferencer2.java:586)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2$InvariantTypeResourceSet.resolveTypeProxy(TypeInferencer2.java:662)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2$TypeResourceSet.getEObject(TypeInferencer2.java:497)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:202)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:262)
at org.eclipse.dltk.javascript.typeinfo.TypeUtil.resolve(TypeUtil.java:203)
at org.eclipse.dltk.javascript.typeinfo.model.impl.TypeImpl.eResolveProxy(TypeImpl.java:472)
at org.eclipse.dltk.javascript.typeinfo.model.impl.TypeImpl.getSuperType(TypeImpl.java:194)
at org.eclipse.dltk.javascript.typeinfo.TypeMemberQuery$TypeIterator.fetchNext(TypeMemberQuery.java:108)
at org.eclipse.dltk.utils.CompoundIterator.hasNext(CompoundIterator.java:24)
at org.eclipse.dltk.javascript.typeinfo.TypeMemberQuery$MemberIterator.fetchNext(TypeMemberQuery.java:142)
at org.eclipse.dltk.utils.CompoundIterator.hasNext(CompoundIterator.java:24)
at org.eclipse.dltk.internal.javascript.ti.ElementValue.findMembers(ElementValue.java:72)
at org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:53)
at org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:46)
at org.eclipse.dltk.internal.javascript.ti.ImmutableValue.findMember(ImmutableValue.java:249)
at org.eclipse.dltk.internal.javascript.ti.ImmutableValue.getChild(ImmutableValue.java:284)
at org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:41)
at org.eclipse.dltk.internal.javascript.ti.AbstractReference.getAttribute(AbstractReference.java:109)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitPropertyExpression(TypeInfoValidator.java:1433)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$32.handle(ASTVisitor.java:199)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:883)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitPropertyExpression(TypeInfoValidator.java:1431)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$32.handle(ASTVisitor.java:199)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:883)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitPropertyExpression(TypeInfoValidator.java:1431)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$32.handle(ASTVisitor.java:199)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitBinaryOperation(TypeInferencerVisitor.java:206)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitBinaryOperation(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$2.handle(ASTVisitor.java:44)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1053)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$39.handle(ASTVisitor.java:234)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:961)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$33.handle(ASTVisitor.java:204)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionBody(TypeInferencerVisitor.java:601)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionStatement(TypeInferencerVisitor.java:559)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitFunctionStatement(TypeInfoValidator.java:460)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionStatement(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$18.handle(ASTVisitor.java:126)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1053)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$39.handle(ASTVisitor.java:234)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:25)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitScript(TypeInferencerVisitor.java:955)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitScript(TypeInferencerVisitor.java:1)
at org.eclipse.dltk.javascript.ast.ASTVisitor$15.handle(ASTVisitor.java:110)
at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:307)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:114)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:384)
at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2.doInferencing(TypeInferencer2.java:107)
at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator.build(TypeInfoValidator.java:108)
at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.buildModule(StandardScriptBuilder.java:247)
at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.buildNatureModules(StandardScriptBuilder.java:195)
at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.build(StandardScriptBuilder.java:67)
at org.eclipse.dltk.internal.core.builder.ScriptBuilder.fullBuild(ScriptBuilder.java:433)
at org.eclipse.dltk.internal.core.builder.ScriptBuilder.build(ScriptBuilder.java:153)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:10:48.367
!MESSAGE Time taken to read in the solution servoy_sample_treeControl: 11

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:10:48.561
!MESSAGE Time taken to read in the solution test: 16

!ENTRY org.eclipse.ui 4 4 2011-09-21 14:12:50.262
!MESSAGE Invalid preference page path: HTML Syntax
!SESSION 2011-09-21 14:12:52.843 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:12:58.756
!MESSAGE Time taken to read in the solution beans_test: 396

!ENTRY com.servoy.eclipse.model 1 0 2011-09-21 14:12:59.762
!MESSAGE Time taken to read in the solution eir: 36

!ENTRY org.eclipse.ui.workbench 2 0 2011-09-21 14:13:04.800
!MESSAGE A handler conflict occurred. This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2011-09-21 14:13:04.800
!MESSAGE Conflict for ‘AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction’:
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@17356ff),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@17356ff)),sourcePriority=16640)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@17356ff),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@17356ff)),sourcePriority=16640)

!ENTRY org.eclipse.ui 4 4 2011-09-21 14:13:22.575
!MESSAGE Invalid preference page path: HTML Syntax

can you attach the bean here? so that we can look?

[attachment=1]servoy_slider.jar[/attachment]Here ya go. BTW, I was getting some input from Pat Talbot, and he recommended that I stick with Java 5 for now, so I reinstalled it, removed v7 and reset the servoy preferences to use Java 5 and JRE compatibility to 1.5. My main problem is that I cant get the bean to show up in the “Place bean” list.

Source code:

package test_slider_bean;

import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import com.servoy.j2db.dataprocessing.IFoundSet;
import com.servoy.j2db.dataprocessing.IRecord;
import com.servoy.j2db.dataui.IServoyAwareBean;
import com.servoy.j2db.plugins.IClientPluginAccess;

public class ServoySlider extends JSlider implements IServoyAwareBean, ChangeListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	protected IFoundSet currentFoundset; 
	protected boolean validationEnabled;
	protected boolean ignoreUpdate = true; 	
	
	public void setSelectedRecord(IRecord record) { 
	    if (record != null) { 
	      this.currentFoundset = record.getParentFoundSet(); 
	   updateSlider(); 
	    } 
	 }
	
	
	
	/**
	   * Updates the slider from the values of the current Foundset
	*/
	private void updateSlider() { 
	    if (validationEnabled && currentFoundset != null)
	    { 
	    	setMinimum(1);  
	    	int max = currentFoundset.getSize(); 
	    	setMaximum(max); 
	    	int tickSpacing = Math.max(Math.round(max/10),1); 
	    	setMajorTickSpacing(tickSpacing); 
	    	setValue(currentFoundset.getSelectedIndex()+1); 
	    }
	    else
	    { 
		  	setMinimum(0); 
		  	setValue(0); 
	    } 
	 } 

	//@Override
	public boolean isReadOnly() {
		// TODO Auto-generated method stub
		return false;
	}

	//@Override
	public void setValidationEnabled(boolean arg0) {
		// TODO Auto-generated method stub

	}

	//@Override
	public boolean stopUIEditing(boolean arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	//@Override
	public void initialize(IClientPluginAccess arg0) {
		// TODO Auto-generated method stub

	}

	
	//@Override
	public void stateChanged(ChangeEvent arg0) {
		  if (!ignoreUpdate) { 
		      if (currentFoundset != null) { 
		        currentFoundset.setSelectedIndex(getValue()-1); 
		      } 
		    } 
		    ignoreUpdate = false; 
	}
	
	private void setSliderValue(int x) { 
	    ignoreUpdate = true; 
	  setValue(x);
	}
}

Manifest text

Manifest-Version: 1.0

Name: test_slider_bean/ServoySlider.class
Java-Bean: True

servoy_slider.jar (1.62 KB)

To be more precise I recommended to stick to Java 5 as a target compliance level, which is not quite the same thing as installing Java 5 on top of JDK7 ;)

Just checked your new jar in Servoy 5.2 and Servoy 6 and it appears in the bean’s list and you can put it on a form.
If I were you I would check my Java environment, maybe you made a mess of things here?
Also since you appear to use Servoy as your Java IDE as well, don’t forget to restart Servoy once you’ve made a change to your jar otherwise it will not pick it up…

YAY! I’m not sure what happened, but I installed JRE6, set my servoy preferences and JAVA_HOME path to use it set the compatibility to 1.6, set the project->properties->java build path->order and export option and included (checked on) the JRE system library and…voila!..it worked.

I reset the compatibility back to 1.5 recompiled and it’s still recognized the bean.

Thank you so much for your input. If you have time, I’d like to hear what you think the problem may have been.

Larry