/* * Generated by Robotoworks Mechanoid */ package com.robotoworks.example.ghissues.ops; import java.util.List; import android.content.ContentValues; import android.util.Log; import com.robotoworks.example.ghissues.BuildConfig; import com.robotoworks.example.ghissues.db.GithubDBContract.Issues; import com.robotoworks.example.ghissues.net.GetIssuesForRepositoryRequest; import com.robotoworks.example.ghissues.net.GetIssuesForRepositoryResult; import com.robotoworks.example.ghissues.net.GithubClient; import com.robotoworks.example.ghissues.net.Issue; import com.robotoworks.mechanoid.db.BulkInsertHelper; import com.robotoworks.mechanoid.net.Response; import com.robotoworks.mechanoid.net.ServiceException; import com.robotoworks.mechanoid.ops.OperationContext; import com.robotoworks.mechanoid.ops.OperationResult; public class GetIssuesForRepositoryOperation extends AbstractGetIssuesForRepositoryOperation { private static final String TAG = GetIssuesForRepositoryOperation.class.getSimpleName(); @Override protected OperationResult onExecute(OperationContext context, final Args args) { GithubClient client = new GithubClient(BuildConfig.DEBUG); try { GetIssuesForRepositoryRequest request = new GetIssuesForRepositoryRequest(args.owner,args.repo); Response<GetIssuesForRepositoryResult> response = client.getIssuesForRepository(request); response.checkResponseCodeOk(); GetIssuesForRepositoryResult result = response.parse(); List<Issue> issues = result.getIssues(); new BulkInsertHelper<Issue>() { @Override protected ContentValues createValues(Issue item) { return Issues.newBuilder() .setGhid(item.getId()) .setNumber(item.getNumber()) .setOwner(args.owner) .setRepo(args.repo) .setTitle(item.getTitle()) .setBody(item.getBody()) .getValues(); } }.insert(Issues.CONTENT_URI, issues); return OperationResult.ok(); } catch (ServiceException e) { Log.e(TAG, Log.getStackTraceString(e)); return OperationResult.error(e); } } }