package de.fau.cs.mad.fablab.android.model; import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Locale; import de.fau.cs.mad.fablab.rest.core.FabTool; import de.fau.cs.mad.fablab.rest.myapi.DrupalApi; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; public class DrupalModel { private static List<FabTool> mTools; private static DrupalApi mDrupalApi; private static Callback<List<FabTool>> mFabToolsCallback = new Callback<List<FabTool>>() { @Override public void success(List<FabTool> tools, Response response) { mTools.addAll(tools); Collections.sort(mTools, new Comparator<FabTool>() { @Override public int compare(FabTool lhs, FabTool rhs) { Collator collator = Collator.getInstance(Locale.GERMAN); collator.setStrength(Collator.SECONDARY); return collator.compare(lhs.getTitle(), rhs.getTitle()); } }); } @Override public void failure(RetrofitError error) { } }; public DrupalModel(DrupalApi drupalApi) { mTools = new ArrayList(); mDrupalApi = drupalApi; mDrupalApi.findAllTools(mFabToolsCallback); } public List<FabTool> getFabTools() { return mTools; } }