10.07.2012

ensureCriteriaItem()


// get the criteria item from the criteria row
ViewCriteriaItem criteriaItem =
vcRow.ensureCriteriaItem("EmployeeId");
// set the criteria item operator
criteriaItem.setOperator("<");
// set the criteria item value
criteriaItem.getValues().get(0).setValue(new Integer(150));

clearCriteriaValues()


public void clearCriteriaVariableValues(
String[] criteriaNames) {
// iterate all view criteria names
for (String criteriaName : criteriaNames) {
// get the view criteria
ViewCriteria vc = this.getViewCriteria(criteriaName);
if (vc != null) {
VariableValueManager vvm = vc.ensureVariableManager();
Variable[] variables = vvm.getVariables();
for (Variable var: variables) {
vvm.setVariableValue(var, null);
}
}
}
}

6.02.2012

En basit TreeMap örneği


     
 TreeMap treeMap = new TreeMap();
        treeMap.put(312, "ANKARA");
        treeMap.put(216, "ISTANBUL");
        treeMap.put(232, "IZMIR");
        treeMap.put(428, "TUNCELI");
     
        System.out.println(treeMap);

7.31.2010

duplicateRow

public static Row duplicateRow(ViewObject vo, Row currentRow) {
Row newRow = null;
try {
newRow = vo.createRow();
newRow.setNewRowState(Row.STATUS_NEW);
AttributeDef[] attrs = vo.getAttributeDefs();
for (int i = 0; i < attrs.length; i++) {
if (!attrs[i].isPrimaryKey() && (attrs[i].getUpdateableFlag() == AttributeDef.UPDATEABLE || attrs[i].getUpdateableFlag() == AttributeDef.UPDATEABLE_WHILE_NEW)) {
String attrName = attrs[i].getName();
try {
newRow.setAttribute(attrName, currentRow.getAttribute(attrName));
} catch (Exception e) {

EtiyaLoggerHelper.log(LoggerCategoryNames.PRODUCT, new EtiyaException(e, "1"));
}
}
}
} catch (Exception e) {
EtiyaLoggerHelper.log(LoggerCategoryNames.PRODUCT, new EtiyaException(e, "1"));
}
return newRow;
}

9.24.2009

Task Flow Örneği

musteri-create-task-flow-definition.xlm adıyla task flow yaratıyoruz.


şekildeki gibi flow üzerinde ki akışımızı ve action ları belirliyoruz. Flow 4 sayfadan oluşuyor ve her adımda back ile bir onceki adıma ve ileri adıma geçilebilir.

Bu task için İnitializer ve Finalizer için bir clas metodları koşturulabilir.


Bu tanımlar tamamlandıysa şimdi sayfalarımını ekleyelim.

Burada sayfamıza bir train nesnesi çekip bırakmamız yeterli, geri kalan bunun ozellikleriyle gorsel durumunu ayarlamak sadece.




Class Kodu:
public class MusteriTanim {
public void taskFlowInitializer() {

// We have to CreateInsertKullanici
ViewObject voMusteriGercek = this.getMusteriGercekViewObject();
Row newRow = voMusteriGercek.createRow();
voMusteriGercek.insertRow(newRow);

ViewObject voMusteriGercekIrtibat = this.getMusteriGercekIrtibatViewObject();
Row newRowIrtibat = voMusteriGercekIrtibat.createRow();
voMusteriGercekIrtibat.insertRow(newRowIrtibat);



}

public void taskFlowFinalizer() {
CrmAppModule am = ADFUtils.getCrmAppModuleInterface();
if (am.getTransaction().isDirty()) {
am.getTransaction().rollback();
}
}

7.26.2009

Execute View Query

Seçilen il combobox listesine göre illere göre alt kayıtların getirilmesi
Burada il listesinin AutoSubmit değeri TRUE olmalıdır, il combobox'ı için valueChangeListener değeri backingBean üzerindeki IlValueChanged() fonksiyonu olmalıdır ve il değiştiğinde güncellenecek diğer listenin partialTriggers değeri il idsi olmalıdır.


public void IlValueChanged(ValueChangeEvent valueChangeEvent) {
System.out.println("***************** test ******************************" );
AppModuleCrm am = Utils.getApplicationModule();
ViewObject vo = am.findViewObject("PopWhereClauseVO");
ViewObject vos = am.findViewObject("SantralWhereClauseILROVO");

if (valueChangeEvent.getNewValue() != null) {
String newValue = valueChangeEvent.getNewValue().toString();
Long ilId = this.getIlId(Integer.parseInt(newValue));
vo.setNamedWhereClauseParam("TheIlID", ilId);
vo.executeQuery();

vos.setNamedWhereClauseParam("TheILID", ilId);
vos.executeQuery();
}
}

private Long getIlId(int order) {
AppModuleCrm am = Utils.getApplicationModule();
ViewObject vo = am.findViewObject("IlVO");
Row row = vo.getRowAtRangeIndex(order);
Long ilId = null;
if (row != null) {
ilId = new Long(row.getAttribute("IlId").toString());
}

BC Katmanında SEQ Yönetimi

1.Adım : Önce EntityImpl arayüzü için kendi sınıfımızı yazıyoruz.

package crm.model.am;

import oracle.jbo.domain.Number;
import oracle.jbo.server.EntityImpl;
import oracle.jbo.server.SequenceImpl;

public class EtiyaEntity extends EntityImpl {
public EtiyaEntity() {
}

public Number seqNextVal(String seqname){
Number seqNextVal;

if (seqname != null && !seqname.equals("")){
SequenceImpl seq = new SequenceImpl(seqname, getDBTransaction());
seqNextVal = seq.getSequenceNumber();
}else {
seqNextVal = new Number(0);
}
return seqNextVal;
}
}

2. Adım :Project Properties penceresinden projemiz için Entitiy Objesinin Row ozelliğini kendi sınıfımızı gösteriyorum..


3. Adım SEQUENCE özelliği olan kolon için entity için attribute özelliğkerlinden adf.object.seqNextVal("SEQ_KYS_BIRIM_ID") değerini vererek SEQ adını gösteriyoruz.



Bu adımlarla tablolarımızın SEQ alanlarının değerlerini bir ata sınıf yazarak yönetmiş olduk.

Umarım işinize yarar...

6.27.2009

Login Olma



public boolean doLogin(String username, String password) {

ViewObject vo = this.getViewLoggedInUser();
vo.setNamedWhereClauseParam("TheUsername", username);
vo.setNamedWhereClauseParam("ThePassword", password);

vo.executeQuery();

System.out.println(vo.getQuery());
System.out.println("Kayıt sayısı ...:" + vo.getRowCount());

if (vo.getRowCount() > 0) {
return true;
} else {
return false;
}
}