/** Perform required operations before exit */ public void commit() { // first, remove all ambiences from configuration Properties properties = Conf.getProperties(); Iterator<Object> it = properties.keySet().iterator(); while (it.hasNext()) { String sKey = (String) it.next(); if (sKey.startsWith(Const.AMBIENCE_PREFIX)) { it.remove(); } } // now create and set each ambience for (Ambience ambience : ambiences.values()) { if (ambience.getStyles().size() > 0) { String styles = ""; for (Style style : ambience.getStyles()) { styles += style.getID() + ','; } styles = styles.substring(0, styles.length() - 1); Conf.setProperty( Const.AMBIENCE_PREFIX + ambience.getID() + '/' + ambience.getName(), styles); } } }
/* * (non-Javadoc) * * @see org.jajuk.ui.Observer#update(java.lang.String) */ public void update(JajukEvent event) { JajukEvents subject = event.getSubject(); if (JajukEvents.STYLE_NAME_CHANGED.equals(subject)) { Properties properties = event.getDetails(); Style old = (Style) properties.get(Const.DETAIL_OLD); Style newStyle = (Style) properties.get(Const.DETAIL_NEW); // replace style into all styles for (Ambience ambience : ambiences.values()) { if (ambience.getStyles().contains(old)) { ambience.removeStyle(old); ambience.addStyle(newStyle); } } } }