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_CAMEL
biç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, HvlSoftDeleteEntity
olmak üzere iki adet entity tipi sağlanmaktadır.Entity Generating Mode
Varlıklar (entity) ve bağlı komponentlerin üretileceği kaynakğın seçimini ifade etmektedir.Entity Name
Varlı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.DlmsMeter
Database DDL
ANSI 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 Mode
iç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çindenLookup
olarak kullanılacak alanların seçimini sağlamaktadır.Query Expression
Sorgu modeli içinde yer alacak alanları ve sorgulama kurallarının seçimini sağlamaktadır.
Gerekli alanlar doldurulduktan sonra
Generate
butonu kullanılarak entity ve bağlı komponentlerin oluşturulması sağlanır.Generate
butonunun her kullanımında oluşturulan çıktılar/generated/sources/hvl-codegen
yolu altına çıkartılır. Bu yolgeneratePackage
görevinin her çalıştırılmasında silinir. Çıkarılan dosyaların tamamı yada kullanılmak istenilenlerisrc/main/java
altı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.