private JavaAnnotationTypeReferenceModel findTableAnnotation(GraphRewrite event, JavaTypeReferenceModel entityTypeReference) { JavaAnnotationTypeReferenceModel tableAnnotationTypeReference = null; final Iterable<? extends WindupVertexFrame> tableAnnotationList = Variables.instance(event).findVariable(TABLE_ANNOTATIONS_LIST); if (tableAnnotationList != null) { for (WindupVertexFrame annotationTypeReferenceBase : tableAnnotationList) { JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) annotationTypeReferenceBase; if (annotationTypeReference.getFile().equals(entityTypeReference.getFile())) { tableAnnotationTypeReference = annotationTypeReference; break; } } } if (tableAnnotationTypeReference == null) { AbstractJavaSourceModel sourceModel = entityTypeReference.getFile(); tableAnnotationTypeReference = findTableAnnotation(event, getParentSourceFiles(event, sourceModel)); } return tableAnnotationTypeReference; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private void extractMetadata(GraphRewrite event, JavaTypeReferenceModel typeReference) { typeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel jaxRSAnnotationTypeReference = (JavaAnnotationTypeReferenceModel) typeReference; String path = getAnnotationLiteralValue(jaxRSAnnotationTypeReference, "value"); JavaClassModel implementationClass = getJavaClass(typeReference); JaxRSWebServiceModelService service = new JaxRSWebServiceModelService(event.getGraphContext()); service.getOrCreate(typeReference.getFile().getApplication(), path, implementationClass); }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private JavaClassModel getJavaClass(JavaTypeReferenceModel javaTypeReference) { JavaClassModel result = null; AbstractJavaSourceModel javaSource = javaTypeReference.getFile(); for (JavaClassModel javaClassModel : javaSource.getJavaClasses()) { // there can be only one public one, and the annotated class should be public if (javaClassModel.isPublic() != null && javaClassModel.isPublic()) { result = javaClassModel; break; } } if (result == null) { // no public classes found, so try to find any class (even non-public ones) result = javaSource.getJavaClasses().iterator().next(); } return result; }
private void extractMetadata(GraphRewrite event, JavaTypeReferenceModel typeReference) { typeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel jaxRSAnnotationTypeReference = (JavaAnnotationTypeReferenceModel) typeReference; String path = getAnnotationLiteralValue(jaxRSAnnotationTypeReference, "value"); JavaClassModel implementationClass = getJavaClass(typeReference); JaxRSWebServiceModelService service = new JaxRSWebServiceModelService(event.getGraphContext()); service.getOrCreate(typeReference.getFile().getApplication(), path, implementationClass); }
private void extractMetadata(GraphRewrite event, JavaTypeReferenceModel typeReference) { JavaClassService javaClassService = new JavaClassService(event.getGraphContext()); JavaClassModel implementationClass = getJavaClass(typeReference); // first, find out if it implements an interface. // TODO: handle the interface only case, where clients exist but no implementation if (!implementationClass.getInterfaces().iterator().hasNext()) { return; } LOG.info("Processing: " + typeReference); typeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel jaxWsAnnotationTypeReference = (JavaAnnotationTypeReferenceModel) typeReference; String endpointInterfaceQualifiedName = getAnnotationLiteralValue(jaxWsAnnotationTypeReference, "endpointInterface"); JavaClassModel endpointInterface = null; if (StringUtils.isNotBlank(endpointInterfaceQualifiedName)) { endpointInterface = javaClassService.getOrCreatePhantom(endpointInterfaceQualifiedName); for (AbstractJavaSourceModel source : javaClassService.getJavaSource(endpointInterface.getQualifiedName())) source.setGenerateSourceReport(true); } JaxWSWebServiceModelService service = new JaxWSWebServiceModelService(event.getGraphContext()); service.getOrCreate(typeReference.getFile().getApplication(), endpointInterface, implementationClass); }
private void extractEJBMetadata(GraphRewrite event, JavaTypeReferenceModel javaTypeReference) { ((SourceFileModel) javaTypeReference.getFile()).setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) javaTypeReference; JavaClassModel ejbClass = getJavaClass(javaTypeReference); String ejbName = annotationTypeReference.getAnnotationValues().get("name"); String sessionType = javaTypeReference.getSourceSnippit().substring(javaTypeReference.getSourceSnippit().lastIndexOf(".") + 1); Service<EjbSessionBeanModel> sessionBeanService = new GraphService<>(event.getGraphContext(), EjbSessionBeanModel.class); EjbSessionBeanModel sessionBean = sessionBeanService.create(); sessionBean.setBeanName(ejbName); sessionBean.setEjbClass(ejbClass); sessionBean.setSessionType(sessionType); }
private void extractEJBMetadata(GraphRewrite event, JavaTypeReferenceModel javaTypeReference) { javaTypeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) javaTypeReference; JavaClassModel ejbClass = getJavaClass(javaTypeReference); String ejbName = getAnnotationLiteralValue(annotationTypeReference, "name"); if (Strings.isNullOrEmpty(ejbName)) { ejbName = ejbClass.getClassName(); } String sessionType = javaTypeReference.getResolvedSourceSnippit() .substring(javaTypeReference.getResolvedSourceSnippit().lastIndexOf(".") + 1); Service<EjbSessionBeanModel> sessionBeanService = new GraphService<>(event.getGraphContext(), EjbSessionBeanModel.class); EjbSessionBeanModel sessionBean = sessionBeanService.create(); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), javaTypeReference.getFile().getProjectModel()); sessionBean.setApplications(applications); sessionBean.setBeanName(ejbName); sessionBean.setEjbClass(ejbClass); sessionBean.setSessionType(sessionType); }
private void extractEJBMetadata(GraphRewrite event, JavaTypeReferenceModel javaTypeReference) { javaTypeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) javaTypeReference; JavaClassModel ejbClass = getJavaClass(javaTypeReference); String ejbName = getAnnotationLiteralValue(annotationTypeReference, "name"); if (Strings.isNullOrEmpty(ejbName)) { ejbName = ejbClass.getClassName(); } String sessionType = javaTypeReference.getResolvedSourceSnippit() .substring(javaTypeReference.getResolvedSourceSnippit().lastIndexOf(".") + 1); Service<EjbSessionBeanModel> sessionBeanService = new GraphService<>(event.getGraphContext(), EjbSessionBeanModel.class); EjbSessionBeanModel sessionBean = sessionBeanService.create(); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), javaTypeReference.getFile().getProjectModel()); sessionBean.setApplications(applications); sessionBean.setBeanName(ejbName); sessionBean.setEjbClass(ejbClass); sessionBean.setSessionType(sessionType); }
private void extractDataSourceMetadata(GraphRewrite event, JavaTypeReferenceModel javaTypeReference) { javaTypeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) javaTypeReference; JavaClassModel datasourceClass = getJavaClass(javaTypeReference); String dataSourceName = getAnnotationLiteralValue(annotationTypeReference, "name"); if (Strings.isNullOrEmpty(dataSourceName)) { dataSourceName = datasourceClass.getClassName(); } String isXaString = getAnnotationLiteralValue(annotationTypeReference, "transactional"); boolean isXa = isXaString == null || Boolean.getBoolean(isXaString); Service<DataSourceModel> dataSourceService = new GraphService<>(event.getGraphContext(), DataSourceModel.class); DataSourceModel dataSourceModel = dataSourceService.create(); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), javaTypeReference.getFile().getProjectModel()); dataSourceModel.setApplications(applications); dataSourceModel.setName(dataSourceName); dataSourceModel.setXa(isXa); dataSourceModel.setJndiLocation(dataSourceName); }
private void extractDataSourceMetadata(GraphRewrite event, JavaTypeReferenceModel javaTypeReference) { javaTypeReference.getFile().setGenerateSourceReport(true); JavaAnnotationTypeReferenceModel annotationTypeReference = (JavaAnnotationTypeReferenceModel) javaTypeReference; JavaClassModel datasourceClass = getJavaClass(javaTypeReference); String dataSourceName = getAnnotationLiteralValue(annotationTypeReference, "name"); if (Strings.isNullOrEmpty(dataSourceName)) { dataSourceName = datasourceClass.getClassName(); } String isXaString = getAnnotationLiteralValue(annotationTypeReference, "transactional"); boolean isXa = isXaString == null || Boolean.getBoolean(isXaString); Service<DataSourceModel> dataSourceService = new GraphService<>(event.getGraphContext(), DataSourceModel.class); DataSourceModel dataSourceModel = dataSourceService.create(); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), javaTypeReference.getFile().getProjectModel()); dataSourceModel.setApplications(applications); dataSourceModel.setName(dataSourceName); dataSourceModel.setXa(isXa); dataSourceModel.setJndiLocation(dataSourceName); }