Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Java by MOhammed ( 15 years ago )
package com.onenetwork.transportation.rest.listener;

import org.json.JSONArray;
import org.json.JSONObject;

import com.onenetwork.platform.common.DimensionType;
import com.onenetwork.platform.common.FieldDef;
import com.onenetwork.platform.data.model.Model;
import com.onenetwork.platform.integ.rest.model.BaseModelResourceListener;
import com.onenetwork.platform.integ.rest.model.ModelFormJSONObject;
import com.onenetwork.platform.integ.rest.model.ModelResourceListener;
import com.onenetwork.transportation.data.ContractDataAccessor;
import com.onenetwork.transportation.model.CostComponent;
import com.onenetwork.transportation.model.dao.TmsContractRow;
import com.transcendsys.platform.base.dao.OrganizationRow;
import com.transcendsys.platform.base.field.FieldDefFactory;
import com.transcendsys.platform.rest.report.ModelLinkJSONObject;
import com.transcendsys.platform.rest.util.FieldJsonHelper;
import com.transcendsys.platform.server.cache.manager.OrganizationCacheManager;
import com.transcendsys.platform.web.profile.UserProfile;

@ModelResourceListener(modelLevelType = "TMS.CostComponent", customModelName = "CostComponent")
public class CostComponentModelResourceListener extends BaseModelResourceListener {

 private CostComponent costComponent;
 
 @Override
   public void onViewExecuted(String viewName, Long sysId, ModelFormJSONObject jsonToReturn) {
     JSONArray fields = jsonToReturn.getFields();

     ModelLinkJSONObject contractObj = (ModelLinkJSONObject) jsonToReturn.getModel().get("Contract");
     addCarrierField(contractObj.getValue(), jsonToReturn, fields);
   }

   @Override
   public void onActionScreenExecuted(String actionName, Long sysId, Model model) {
     costComponent = (CostComponent)model;
   }

   @Override
   public void onActionScreenExecuted(String actionName, Long sysId, ModelFormJSONObject jsonToReturn) {
     
       ModelLinkJSONObject contractObj = (ModelLinkJSONObject) jsonToReturn.getModel().get("Contract");
       addCarrierField(contractObj.getValue(), jsonToReturn, jsonToReturn.getFields());
     
   }

   @Override
   public void beforeActionExecuted(String actionName, JSONObject modelJSON, Model model) {
     
   }
   
   private void addCarrierField(Long sysContractId, ModelFormJSONObject jsonToReturn, JSONArray fields) {
      TmsContractRow contractRow = ContractDataAccessor.getContractDao(sysContractId, null);
      OrganizationRow carrierOrgRow = OrganizationCacheManager.getInstance().getOrganization(
        contractRow.getSysServicingOrgId(),
        null);

      FieldDef carrierField = FieldDefFactory.createAdHocDimensionFieldDef("Carrier", DimensionType.ORGANIZATION);
      carrierField.setEditable(false);
      carrierField.setOptional(true);

      FieldJsonHelper fieldJsonHelper = new FieldJsonHelper((UserProfile) userProfile);
      JSONObject carrierfield = fieldJsonHelper.getEditableFieldJSON(carrierField);
      fields.put(carrierfield);

      ModelLinkJSONObject carrierVal = new ModelLinkJSONObject();
      carrierVal.setValue(sysContractId);
      carrierVal.setDisplayValue(carrierOrgRow.getOrgName());
      jsonToReturn.getModel().put("Undefined$Carrier", carrierVal);
    }
 
}

 

Revise this Paste

Your Name: Code Language: