package org.springframework.roo.classpath.preferences; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Service; /** * The {@link PreferencesService} implementation. * * @author Andrew Swan * @since 1.2.0 */ @Component @Service public class PreferencesServiceImpl implements PreferencesService { public Preferences getPreferencesFor(final Class<?> owningClass) { // Create the Preferences object, suppressing // "Created user preferences directory" messages if there is no Java // preferences directory // TODO Switch to UAA's PreferencesUtils (but must wait for UAA 1.0.3 // due to bug in UAA 1.0.2 and earlier) final Logger l = Logger.getLogger("java.util.prefs"); final Level original = l.getLevel(); try { l.setLevel(Level.WARNING); return new Preferences( java.util.prefs.Preferences.userNodeForPackage(owningClass)); } finally { l.setLevel(original); } } }