{
must_update_once = COConfigurationManager.getBooleanParameter( "pairing.updateoutstanding" );
PluginInterface default_pi = PluginInitializer.getDefaultInterface();
final UIManager ui_manager = default_pi.getUIManager();
BasicPluginConfigModel configModel = ui_manager.createBasicPluginConfigModel(
ConfigSection.SECTION_CONNECTION, "Pairing");
configModel.addHyperlinkParameter2( "ConfigView.label.please.visit.here", MessageText.getString( "ConfigView.section.connection.pairing.url" ));
param_enable = configModel.addBooleanParameter2( "pairing.enable", "pairing.enable", false );
String access_code = readAccessCode();
param_ac_info = configModel.addInfoParameter2( "pairing.accesscode", access_code);
param_status_info = configModel.addInfoParameter2( "pairing.status.info", "" );
param_last_error = configModel.addInfoParameter2( "pairing.last.error", "" );
param_view = configModel.addHyperlinkParameter2( "pairing.view.registered", SERVICE_URL + "/web/view?ac=" + access_code);
if ( access_code.length() == 0 ){
param_view.setEnabled( false );
}
final ActionParameter ap = configModel.addActionParameter2( "pairing.ac.getnew", "pairing.ac.getnew.create" );
ap.addListener(
new ParameterListener()
{
public void
parameterChanged(
Parameter param )
{
try{
ap.setEnabled( false );
allocateAccessCode( false );
SimpleTimer.addEvent(
"PM:enabler",
SystemTime.getOffsetTime(30*1000),
new TimerEventPerformer()
{
public void
perform(
TimerEvent event )
{
ap.setEnabled( true );
}
});
}catch( Throwable e ){
ap.setEnabled( true );
String details = MessageText.getString(
"pairing.alloc.fail",
new String[]{ Debug.getNestedExceptionMessage( e )});
ui_manager.showMessageBox(
"pairing.op.fail",
"!" + details + "!",
UIManagerEvent.MT_OK );
}
}