Generate Package Plugin#
Projelerde, veri tabanı DDL betiği veya varlık (entity) isimleri üzerinden uygulama katmanların oluşmasını sağlamaktadır. 'hvl-plugin' veya 'hvl-code-generator-plugin' plugin id bilgileriyle eklenmektedir. 'hvl-plugin', varsayılan olarak 'hvl-code-generator-plugin' eklentisini uygulamaktadır. Bundan sebep 'hvl-plugin' dahil edilmiş bir projede 'hvl-code-generator-plugin' dahil edilmesine gerek yoktur.
Projelere iki farklı yöntem ile eklenebilmektedir. Aşağıda 'hvl-plugin' eklentisinin nasıl ekleneceği gösterilmiştir. Eğer yalnız 'hvl-code-generator-plugin' eklentisi eklenmek istenirse yöntemler aynıdır. Yöntemler şunlardır:
Buildscript kullanımı
Paket içeriği üretimi için generatePackage adlı gradle görevi kullanılmaktadır.
Görev, çalışılan projenin build.gradle seviyesinde terminal veya IDE üzerinden tetiklenebilir.
- Terminal üzerinden:
- IDE üzerinden:

Görev çalıştırıldığında aşağıda gösterilen pencere açılır.

Ekranda yer alan girdi alanları ve kullanım amaçları aşağıdaki gibidir:
Base Package(Zorunlu) Temel paket adını ifade etmektedir.Type Naming Prefix(Opsiyonel) Sınıf adları için ön ek. AlanCaseFormat.UPPER_CAMELbiçimine uygun olmalıdır.Module Name(Zorunlu) Oluşturulmak istenilen modül adını ifade etmektedir.Base Entity Type(Zorunlu) Kalıtım alınacak temel entity tipini ifade etmektedir. Altyapı tarafından,HvlHardDeleteEntity, HvlSoftDeleteEntityolmak üzere iki adet entity tipi sağlanmaktadır.Entity Generating ModeVarlıklar (entity) ve bağlı komponentlerin üretileceği kaynakğın seçimini ifade etmektedir.Entity NameVarlık (entity) adları girişi için metin giriş alanını etkinleştirmektedir. Birden fazla varlık girişi yapılmak istenirse, varlık adları arasına,konulmalıdır. Veri tabanı şema adı girişi için${schemaName}.${entityName}biçimi uygulanmalıdır. Örneğindevice_mgmt.DlmsMeterDatabase DDLANSI SQL spesifikasyonlarına uygun veri tabanı DDL betiği girişi için dosya seçim alanını etkinleştirmektedir. Seçilen DDL dosyası, tablo ilişkileri ve veri doğrulama tanımlarını (constraint) eksiksiz içermelidir.
Entity Source(Zorunlu) SeçilenEntity Generating Modeiçin giriş alanıdır.Proj.Entity/Model içinde yer alacak projeksiyon alanların seçimi sağlamaktadır. Ayrıca entity dahilinde yer almayıp varlık ilişkilerinden gelen alanların veri sorgularına dahil edilmesini temin etmektedir.Lookup.Seçilen varlık (entity) alanları içindenLookupolarak kullanılacak alanların seçimini sağlamaktadır.Query ExpressionSorgu modeli içinde yer alacak alanları ve sorgulama kurallarının seçimini sağlamaktadır.
Gerekli alanlar doldurulduktan sonra
Generatebutonu kullanılarak entity ve bağlı komponentlerin oluşturulması sağlanır.Generatebutonunun her kullanımında oluşturulan çıktılar/generated/sources/hvl-codegenyolu altına çıkartılır. Bu yolgeneratePackagegörevinin her çalıştırılmasında silinir. Çıkarılan dosyaların tamamı yada kullanılmak istenilenlerisrc/main/javaaltına kopyalanmalıdır.
Template proje üzerinden gradle projesi oluşturma örneği aşağıda yer alan videoda gösterilmiştir.
DDL betiği seçilerek yapılan bir örnek aşağıda yer alan videoda gösterilmiştir.
- Backend
- Frontend
Örnek gösterimde kullanılan DDL betik dosyasını buradan indirilebilirsiniz.