public static <S> S createService(Class<S> serviceClass, int api_type) { OkHttpClient client = new OkHttpClient(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(RestConfig.getBaseUrl(api_type)) .addConverterFactory(GsonConverterFactory.create(GsonFactory.createGson(api_type))) .client(client) .build(); return retrofit.create(serviceClass); }
@Override protected void transformResponse(DSResponse dsResponse, DSRequest dsRequest, Object data) { if (RestConfig.isStatusOk(dsResponse)) { Record[] records = dsResponse.getData(); for (Record record : records) { String mid = record.getAttribute(FIELD_ID); String way = record.getAttribute(FIELD_WAY); String pk = mid; if (way != null) { pk = mid + way; } record.setAttribute(PRIMARY_KEY, pk); } } super.transformResponse(dsResponse, dsRequest, data); }
public WorkflowMaterialDataSource() { setID(ID); setDataFormat(DSDataFormat.JSON); setDataURL(RestConfig.URL_WORKFLOW_MATERIAL); final ClientMessages i18n = GWT.create(ClientMessages.class); DataSourceTextField primaryKey = new DataSourceTextField(PRIMARY_KEY); primaryKey.setCanEdit(false); primaryKey.setCanSave(false); primaryKey.setHidden(true); primaryKey.setPrimaryKey(true); DataSourceTextField fieldId = new DataSourceTextField(FIELD_ID); fieldId.setCanEdit(false); fieldId.setDetail(true); fieldId.setTitle(i18n.WorkflowMaterial_Field_Id_Title()); DataSourceTextField note = new DataSourceTextField(FIELD_NOTE); note.setTitle(i18n.WorkflowMaterial_Field_Note_Title()); DataSourceTextField value = new DataSourceTextField(FIELD_VALUE); value.setTitle(i18n.WorkflowMaterial_Field_Label_Title()); DataSourceTextField profile = new DataSourceTextField(FIELD_PROFILENAME); profile.setTitle(i18n.WorkflowMaterial_Field_Profile_Title()); profile.setDisplayField(WorkflowModelConsts.MATERIAL_PROFILELABEL); DataSourceEnumField type = new DataSourceEnumField(FIELD_TYPE); type.setTitle(i18n.WorkflowMaterial_Field_Type_Title()); type.setValueMap( new LinkedHashMap<String, String>() { { put(MaterialType.FOLDER.name(), i18n.WorkflowMaterial_Type_Folder_Title()); put(MaterialType.PHYSICAL_DOCUMENT.name(), i18n.WorkflowMaterial_Type_Physical_Title()); put(MaterialType.DIGITAL_OBJECT.name(), i18n.WorkflowMaterial_Type_Digital_Title()); } }); DataSourceEnumField way = new DataSourceEnumField(FIELD_WAY); way.setTitle(i18n.WorkflowMaterial_Field_Way_Title()); way.setPrompt(i18n.WorkflowMaterial_Field_Way_Hint()); way.setValueMap( new LinkedHashMap<String, String>() { { put(Way.INPUT.name(), i18n.WorkflowMaterial_Way_Input_Title()); put(Way.OUTPUT.name(), i18n.WorkflowMaterial_Way_Output_Title()); } }); DataSourceTextField path = new DataSourceTextField(FIELD_FOLDER_PATH); path.setTitle(i18n.WorkflowMaterial_Field_Path_Title()); path.setDetail(true); DataSourceTextField catalog = new DataSourceTextField(FIELD_PHYSICAL_CATALOG); catalog.setTitle(i18n.WorkflowMaterial_Field_Catalog_Title()); catalog.setDetail(true); DataSourceTextField barcode = new DataSourceTextField(FIELD_PHYSICAL_BARCODE); barcode.setTitle(i18n.WorkflowMaterial_Field_Barcode_Title()); barcode.setDetail(true); DataSourceTextField field001 = new DataSourceTextField(FIELD_PHYSICAL_FIELD001); field001.setTitle(i18n.WorkflowMaterial_Field_Field001_Title()); field001.setDetail(true); DataSourceTextField rdCzId = new DataSourceTextField(FIELD_PHYSICAL_RDCZID); rdCzId.setTitle(i18n.WorkflowMaterial_Field_RdCzId_Title()); rdCzId.setDetail(true); DataSourceTextField signature = new DataSourceTextField(FIELD_PHYSICAL_SIGNATURE); signature.setTitle(i18n.WorkflowMaterial_Field_Signature_Title()); signature.setDetail(true); DataSourceTextField pid = new DataSourceTextField(FIELD_DIGITAL_PID); pid.setTitle(i18n.WorkflowMaterial_Field_Pid_Title()); pid.setDetail(true); DataSourceTextField metadata = new DataSourceTextField(FIELD_PHYSICAL_METADATA); metadata.setTitle(i18n.WorkflowMaterial_Field_Metadata_Title()); metadata.setDetail(true); setFields( profile, type, value, way, note, fieldId, primaryKey, path, barcode, field001, signature, rdCzId, catalog, metadata, pid); setRequestProperties(RestConfig.createRestRequest(getDataFormat())); setOperationBindings(RestConfig.createUpdatePostOperation()); }