protected boolean copy(TransferObjectContext context, FormattedPrintWriter pw, CopyMethodPrinter printer) { DomainType returnType = context.getDomainMethodReturnType(); switch (returnType.getKind()) { case VOID: processingEnv.getMessager().printMessage(Kind.ERROR, "[ERROR] Unable to process " + context.getDtoFieldName() + ". Unsupported result type: " + returnType.getKind()); return false; case ARRAY: //TODO return false; } printer.printCopyMethod(context, pw); return true; } }
private void printDomainTypeVariables(Set<? extends MutableTypeMirror> types, ExecutableElement localMethod, ConverterProviderElementPrinter nestedPrinter) { for (MutableTypeMirror type: types) { DomainType domainType = processingEnv.getTransferObjectUtils().getDomainType(type); if (domainType.getKind().isDeclared() && domainType.getConverter() != null) { ServiceConverterProviderPrinterContext context = new ServiceConverterProviderPrinterContext((DomainDeclaredType)domainType, localMethod); nestedPrinter.print(context); } } }
@Override protected void printType(MutableTypeMirror type, ConverterProviderPrinterContext context) { DomainType domainType = processingEnv.getTransferObjectUtils().getDomainType(type); if (domainType.getKind().isDeclared() && domainType.getConverter() != null) { context = new ServiceConverterProviderPrinterContext((DomainDeclaredType)domainType, ((ServiceConverterProviderPrinterContext)context).getLocalMethod()); print(context); } }
if (domainReturnType.getKind().equals(MutableTypeKind.CLASS) || domainReturnType.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(prefixDomainParameter(((MutableDeclaredType) remoteServiceTypeElement.toReturnType((DomainDeclared)domainReturnType))).clone()); } else { if (domain.getKind().equals(MutableTypeKind.CLASS) || domain.getKind().equals(MutableTypeKind.INTERFACE)) { pw.print(prefixDomainParameter(((MutableDeclaredType)domain).clone()).stripTypeParametersTypes()); } else {
protected void printCopyByLocalConverter(String domainField, DomainType domainMethodReturnType, String dtoField, FormattedPrintWriter pw) { pw.println("} else {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(dtoField)); if (domainMethodReturnType.getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("((" + ConverterTypeElement.DTO_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable)domainMethodReturnType).getVariable() + ")"); } else { pw.print("((", domainMethodReturnType.getDto(), ")"); } pw.print(TransferObjectElementPrinter.DOMAIN_NAME + "." + domainField); pw.println(");"); pw.println("}"); } }
DomainType domainReference = currentElement.getDomainReference(getEntityResolver(), currentPath); if (domainReference != null && domainReference.getKind().isDeclared()) { currentElement = (DomainDeclaredType)domainReference; ExecutableElement nestedIdMethod = currentElement.getIdMethod(getEntityResolver());
protected void printCopyByLocalConverter(String localConverterName, PathResolver domainPathResolver, DomainType domainMethodReturnType, String dtoField, FormattedPrintWriter pw) { pw.println("if (" + localConverterName + " != null) {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath()) + "(" + localConverterName + ".fromDto(" + TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(dtoField) + ")"); pw.println(");"); pw.println("} else {"); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath())); if (domainMethodReturnType.getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("((" + ConverterTypeElement.DOMAIN_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable) domainMethodReturnType).getVariable() + ")"); } else { pw.print("((" + domainMethodReturnType + ")"); } pw.print(TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(dtoField)); pw.println(");"); pw.println("}"); } }
if (!instantiableDomainReference.getKind().isDeclared()) { processingEnv.getMessager().printMessage( Kind.ERROR,
pw.print(context.getConverter().getConverterBase(), " " + converterName + " = "); Field field = new Field((context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR) ? "(" + context.getConverter().getDto() + ")" : "") + TransferObjectElementPrinter.DTO_NAME + "." + MethodHelper.toGetter(context.getDtoFieldName()), context.getConverter().getDto()); TransferObjectMappingAccessor transferObjectMappingAccessor = new TransferObjectMappingAccessor(context.getDtoMethod(), processingEnv); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(domainPathResolver.getPath()) + "("); if (context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("(" + ConverterTypeElement.DOMAIN_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable) context.getDomainMethodReturnType()).getVariable().toString() + ")");
(context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR) ? "(" + context.getConverter().getDomain().toString(ClassSerializer.SIMPLE, true) + ")" : "") + TransferObjectElementPrinter.DOMAIN_NAME + "." + context.getDomainFieldName(), context.getConverter().getDomain()); TransferObjectMappingAccessor transferObjectMappingAccessor = new TransferObjectMappingAccessor(context.getDtoMethod(), processingEnv); pw.print(TransferObjectElementPrinter.RESULT_NAME + "." + MethodHelper.toSetter(context.getDtoFieldName()) + "("); if (context.getDomainMethodReturnType().getKind().equals(MutableTypeKind.TYPEVAR)) { pw.print("(" + ConverterTypeElement.DTO_TYPE_ARGUMENT_PREFIX + "_" + ((MutableTypeVariable)context.getDomainMethodReturnType()).getVariable().toString() + ")");