Servet.Karabas

Controller teknolojiis ile extention alanların kaydı

  j-Platform/LPT

bu konu ile ilgili örnek kod var mıdır?


controller extention


Servet.Karabas

Bu konu ile ilgili iki örnek kaynak kodu var.

Genel itibari ile Extension ile Controller’ın bir bağlantısı bulunmamaktadır.

Controller ürün form tanımları üzerinden işlem yapabilir.

Bu nedenle ilgili kayıtları ekledikten sonra gidip extension CBOlarını ayrıca doldurup persist etmek gerekiyor. Bunun için ise en uygun yol Controller’ın içine yerleştireceğimiz bir datasave listener’ı bu bölüme aşağıdaki gibi bir eklenti yapılmalı. Tüm Controller yapısındaki kullanımı ekteki gibidir.

{
	MMBOItem item = (MMBOItem) UnityHelper.getBOByReference(context, MMBOItem.class, savedItemRef);
	CustomBusinessObject itemExtObj = ProjectUtil.checkAndCreateNewCBO(item, "CBOItemHeaderExt");
	
	boolean boolItemExtReadOk = (itemExtObj != null);
	boolean boolItemReadOk = (item != null);
	
	if (boolItemExtReadOk && boolItemReadOk){
		ProjectUtil.setMemberValue(itemExtObj, "Extstr1", "denemeok1");
		//ProjectUtil.setMemberValue(itemExtObj, "Extstr2", "denemeok2");
	}
	boolean postOK = false;
	try
	{
		FactoryParams params = new FactoryParams();
		params.setCustomization(ProjectGlobals.getM_ProjectGUID());
		boolean ok = context.getObjectFactory().persist(item, params);
		if (ok)
		{
			System.out.println("Credit Card Slip successfully added.");
			//item.ccSlipRef = slip.getInternal_Reference();
			//item.ccSlipNr = slip.getSlipNo();                     
		}
		else
		{
			System.out.println("-->error location: createCreditCardSlip-1");
		}
	}
	catch (Exception e)
	{
		System.out.println("-->error location: createCreditCardSlip-2");
		e.printStackTrace();
	}
}										

 




31/03/15 18:02

Cevap vermek için giriş yapmanız gerekmektedir.