Re: [Asterisk-java-devel] Reset dtmfReceived
Brought to you by:
srt
From: Timothy R. <tim...@gm...> - 2012-06-05 14:20:23
|
I'm not a project contributor. But I think it makes sense that asterisk-java would invoke the listener for each distinct press. If it doesn't, wouldn't a better approach be to write a patch for it instead of using reflection? On Jun 5, 2012, at 9:24 AM, Hoai-Anh Ngo-Vi <ho...@gm...> wrote: > Answer to myself, > > Using reflection has worked out. But this seems to me a bit dirty. Is > there any more asterisk-java native way? > > +++++ > @Override > public void propertyChange(PropertyChangeEvent arg0) { > > AsteriskChannel asteriskChannel = (AsteriskChannel) > arg0.getSource(); > String chanId = asteriskChannel.getId(); > > > logger.info(chanId+"::"+arg0.getPropertyName()+"::"+arg0.getOldValue()); > > logger.info(chanId+"::"+arg0.getPropertyName()+"::"+arg0.getNewValue()); > > // workaround to reset invisible field by default > try { > String fieldName = arg0.getPropertyName(); > if(fieldName.startsWith("dtmf")) { > Class<?> c = asteriskChannel.getClass(); > java.lang.reflect.Field field = > c.getDeclaredField(fieldName); > field.setAccessible(true); > field.set(asteriskChannel, null); > } > > } catch (SecurityException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (NoSuchFieldException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (IllegalArgumentException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (IllegalAccessException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > } > +++++ > > Am 05.06.12 15:16, schrieb Hoai-Anh Ngo-Vi: >> Dear developers, >> >> I add a PropertyChangeListener to AsteriskChannel. In method >> propertyChange() I read the propertiy dtmfReceived. When a single digit, >> let's say '#' is pressed several times the method is called only one >> time. But I want the method to be called everytime so I came to the idea >> of reseting dimfReceived to null. But due to the visibility of >> AsteriskChannelImpl this is not possible. Is there any way to do that? I >> do not want to modify the original Code? >> >> Thank you for your supports >> > > > -- > Ngô Vi Hoài Anh > Biedenkopfer Weg 13 > 60489 Frankfurt am Main > > 069 74 22 36 63 > 0172 53 97 0 82 > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Asterisk-java-devel mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-devel |