
org.nuiton.topia.it.legacy.TopiaItLegacyBinderHelper Maven / Gradle / Ivy
The newest version!
package org.nuiton.topia.it.legacy;
/*-
* #%L
* ToPIA :: IT
* %%
* Copyright (C) 2004 - 2024 Code Lutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
* .
* #L%
*/
import org.nuiton.topia.it.legacy.test.ano1882.FrenchCompany;
import org.nuiton.topia.it.legacy.test.entities.Person;
import org.nuiton.topia.it.legacy.test.entities.Pet;
import org.nuiton.topia.it.legacy.test.entities.Race;
import org.nuiton.topia.it.legacy.topiatest.Address;
import org.nuiton.topia.it.legacy.topiatest.Bill;
import org.nuiton.topia.it.legacy.topiatest.Company;
import org.nuiton.topia.it.legacy.topiatest.Department;
import org.nuiton.topia.it.legacy.topiatest.Employe;
import org.nuiton.topia.it.legacy.topiatest.GeneralizedNaturalizedEntity;
import org.nuiton.topia.it.legacy.topiatest.NaturalizedEntity;
import org.nuiton.topia.it.legacy.topiatest.Personne;
import org.nuiton.topia.it.legacy.topiatest.Product;
import org.nuiton.topia.it.legacy.topiatest.QueriedEntity;
import org.nuiton.topia.it.legacy.topiatest.Store;
import org.nuiton.topia.it.legacy.topiatest.Type;
import org.nuiton.topia.it.legacy.topiatest.deletetest.Contact2;
import org.nuiton.topia.it.legacy.topiatest.deletetest.Telephone2;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.util.TopiaEntityBinder;
import org.nuiton.topia.persistence.util.TopiaEntityHelper;
import org.nuiton.util.beans.BinderFactory;
import org.nuiton.util.beans.BinderModelBuilder;
public class TopiaItLegacyBinderHelper extends BinderFactory {
public static TopiaEntityBinder getTopiaBinder(Class entityClass, String contextName) {
return (TopiaEntityBinder) newBinder(entityClass, entityClass, contextName, TopiaEntityBinder.class);
}
public static TopiaEntityBinder getSimpleTopiaBinder(Class entityClass) {
return getTopiaBinder(entityClass, "TopiaItLegacy");
}
public static void registerTopiaBinder(BinderModelBuilder builder, String contextName) {
registerBinderModel(builder, contextName);
}
public static TopiaEntityBinder registerTopiaBinder(Class entityClass, BinderModelBuilder builder, String contextName) {
registerBinderModel(builder, contextName);
return getTopiaBinder(entityClass, contextName);
}
public static void copy(String contextName, E source, E target, boolean tech) {
Class entityClass = (Class) TopiaEntityHelper.getContractClass(TopiaItLegacyEntityEnum.values(), target.getClass());
TopiaEntityBinder binder = getTopiaBinder(entityClass, contextName);
if (binder == null) {
throw new NullPointerException("Could not find a simple topia binder of type : " + target.getClass());
}
binder.load(source, target, tech);
}
public static void simpleCopy(E source, E target, boolean tech) {
Class entityClass = (Class) TopiaEntityHelper.getContractClass(TopiaItLegacyEntityEnum.values(), target.getClass());
TopiaEntityBinder binder = getSimpleTopiaBinder(entityClass);
if (binder == null) {
throw new NullPointerException("Could not find a simple topia binder of type : " + target.getClass());
}
binder.load(source, target, tech);
}
protected static void initBinders() {
BinderModelBuilder builderFrenchCompany =
BinderModelBuilder.newEmptyBuilder(FrenchCompany.class);
builderFrenchCompany.addSimpleProperties(
FrenchCompany.PROPERTY_S_IREN,
FrenchCompany.PROPERTY_SIREN2
);
registerTopiaBinder(builderFrenchCompany, "TopiaItLegacy");
BinderModelBuilder builderPerson =
BinderModelBuilder.newEmptyBuilder(Person.class);
builderPerson.addSimpleProperties(
Person.PROPERTY_NAME,
Person.PROPERTY_FIRSTNAME
);
registerTopiaBinder(builderPerson, "TopiaItLegacy");
BinderModelBuilder builderPet =
BinderModelBuilder.newEmptyBuilder(Pet.class);
builderPet.addSimpleProperties(
Pet.PROPERTY_RACE,
Pet.PROPERTY_PERSON,
Pet.PROPERTY_TYPE,
Pet.PROPERTY_NAME
);
registerTopiaBinder(builderPet, "TopiaItLegacy");
BinderModelBuilder builderRace =
BinderModelBuilder.newEmptyBuilder(Race.class);
builderRace.addSimpleProperties(
Race.PROPERTY_NAME
);
registerTopiaBinder(builderRace, "TopiaItLegacy");
BinderModelBuilder builderAddress =
BinderModelBuilder.newEmptyBuilder(Address.class);
builderAddress.addSimpleProperties(
Address.PROPERTY_CITY,
Address.PROPERTY_ADRESS
);
registerTopiaBinder(builderAddress, "TopiaItLegacy");
BinderModelBuilder builderBill =
BinderModelBuilder.newEmptyBuilder(Bill.class);
builderBill.addSimpleProperties(
Bill.PROPERTY_DATE,
Bill.PROPERTY_PAID,
Bill.PROPERTY_COST
);
registerTopiaBinder(builderBill, "TopiaItLegacy");
BinderModelBuilder builderCompany =
BinderModelBuilder.newEmptyBuilder(Company.class);
builderCompany.addSimpleProperties(
Company.PROPERTY_SIRET,
Company.PROPERTY_NAME
);
registerTopiaBinder(builderCompany, "TopiaItLegacy");
BinderModelBuilder builderDepartment =
BinderModelBuilder.newEmptyBuilder(Department.class);
builderDepartment.addSimpleProperties(
Department.PROPERTY_LEADER,
Department.PROPERTY_NAME,
Department.PROPERTY_COMPANY
);
registerTopiaBinder(builderDepartment, "TopiaItLegacy");
BinderModelBuilder builderEmploye =
BinderModelBuilder.newEmptyBuilder(Employe.class);
builderEmploye.addSimpleProperties(
Employe.PROPERTY_OTHER_GENDER,
Employe.PROPERTY_ADDRESS,
Employe.PROPERTY_SALARY,
Employe.PROPERTY_NAME,
Employe.PROPERTY_GENDER
);
registerTopiaBinder(builderEmploye, "TopiaItLegacy");
BinderModelBuilder builderGeneralizedNaturalizedEntity =
BinderModelBuilder.newEmptyBuilder(GeneralizedNaturalizedEntity.class);
builderGeneralizedNaturalizedEntity.addSimpleProperties(
GeneralizedNaturalizedEntity.PROPERTY_NATURAL_ID_NULL,
GeneralizedNaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL
);
registerTopiaBinder(builderGeneralizedNaturalizedEntity, "TopiaItLegacy");
BinderModelBuilder builderNaturalizedEntity =
BinderModelBuilder.newEmptyBuilder(NaturalizedEntity.class);
builderNaturalizedEntity.addSimpleProperties(
NaturalizedEntity.PROPERTY_NATURAL_ID_NULL,
NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL
);
registerTopiaBinder(builderNaturalizedEntity, "TopiaItLegacy");
BinderModelBuilder builderPersonne =
BinderModelBuilder.newEmptyBuilder(Personne.class);
builderPersonne.addSimpleProperties(
Personne.PROPERTY_OTHER_GENDER,
Personne.PROPERTY_ADDRESS,
Personne.PROPERTY_NAME,
Personne.PROPERTY_GENDER
);
registerTopiaBinder(builderPersonne, "TopiaItLegacy");
BinderModelBuilder builderProduct =
BinderModelBuilder.newEmptyBuilder(Product.class);
builderProduct.addSimpleProperties(
Product.PROPERTY_NAME,
Product.PROPERTY_TYPE
);
registerTopiaBinder(builderProduct, "TopiaItLegacy");
BinderModelBuilder builderQueriedEntity =
BinderModelBuilder.newEmptyBuilder(QueriedEntity.class);
builderQueriedEntity.addSimpleProperties(
QueriedEntity.PROPERTY_TEST_ADD
);
registerTopiaBinder(builderQueriedEntity, "TopiaItLegacy");
BinderModelBuilder builderStore =
BinderModelBuilder.newEmptyBuilder(Store.class);
builderStore.addSimpleProperties(
Store.PROPERTY_NAME
);
registerTopiaBinder(builderStore, "TopiaItLegacy");
BinderModelBuilder builderType =
BinderModelBuilder.newEmptyBuilder(Type.class);
builderType.addSimpleProperties(
Type.PROPERTY_NAME
);
registerTopiaBinder(builderType, "TopiaItLegacy");
BinderModelBuilder builderContact2 =
BinderModelBuilder.newEmptyBuilder(Contact2.class);
builderContact2.addSimpleProperties(
Contact2.PROPERTY_CONTACT_VALUE,
Contact2.PROPERTY_TYPE
);
registerTopiaBinder(builderContact2, "TopiaItLegacy");
BinderModelBuilder builderTelephone2 =
BinderModelBuilder.newEmptyBuilder(Telephone2.class);
builderTelephone2.addSimpleProperties(
Telephone2.PROPERTY_CONTACT_VALUE,
Telephone2.PROPERTY_TYPE,
Telephone2.PROPERTY_COUNTRY,
Telephone2.PROPERTY_PREFIX
);
registerTopiaBinder(builderTelephone2, "TopiaItLegacy");
}
static {
initBinders();
}
} //TopiaItLegacyBinderHelper
© 2015 - 2025 Weber Informatics LLC | Privacy Policy