InterpreterFactory implements InterpreterGroupFactory { public List<String> getDefaultInterpreterSettingList() { List<String> defaultSettings = new LinkedList<String>(); Map<String, Boolean> interpreterGroupCheck = new HashMap<String, Boolean>(); List<InterpreterSetting> sortedSettings = get(); for (InterpreterSetting setting : sortedSettings) { if (defaultSettings.contains(setting.id())) { continue; } if (!interpreterGroupCheck.containsKey(setting.getGroup())) { defaultSettings.add(setting.id()); interpreterGroupCheck.put(setting.getGroup(), true); } } return defaultSettings; } InterpreterFactory(ZeppelinConfiguration conf,
      AngularObjectRegistryListener angularObjectRegistryListener,
      RemoteInterpreterProcessListener remoteInterpreterProcessListener,
      DependencyResolver depResolver);  InterpreterFactory(ZeppelinConfiguration conf, InterpreterOption defaultOption,
      AngularObjectRegistryListener angularObjectRegistryListener,
      RemoteInterpreterProcessListener remoteInterpreterProcessListener,
      DependencyResolver depResolver); List<String> getDefaultInterpreterSettingList(); List<RegisteredInterpreter> getRegisteredInterpreterList(); InterpreterSetting add(String name, String groupName,
      List<Dependency> dependencies,
      InterpreterOption option, Properties properties); @Override InterpreterGroup createInterpreterGroup(String id, InterpreterOption option); void removeInterpretersForNote(InterpreterSetting interpreterSetting,
                                        String noteId); void createInterpretersForNote(
      InterpreterSetting interpreterSetting,
      String noteId,
      String key); void remove(String id); List<InterpreterSetting> get(); InterpreterSetting get(String name); void putNoteInterpreterSettingBinding(String noteId,
      List<String> settingList); void removeNoteInterpreterSettingBinding(String noteId); List<String> getNoteInterpreterSettingBinding(String noteId); void setPropertyAndRestart(String id,
      InterpreterOption option,
      Properties properties,
      List<Dependency> dependencies); void restart(String id); void close(); List<RemoteRepository> getRepositories(); void addRepository(String id, String url, boolean snapshot, Authentication auth); void removeRepository(String id);  }
@Test public void testFactoryDefaultList() throws IOException, RepositoryException { List<String> all = factory.getDefaultInterpreterSettingList(); assertEquals(2, all.size()); }