| import java.io.*; |
| import java.util.jar.*; |
| |
| try |
| { |
| JarFile file = new JarFile( new File( basedir, "child2/target/child2-1.0-SNAPSHOT-bin.jar" ) ); |
| JarEntry handlerEntry = file.getEntry( "META-INF/spring.handlers" ); |
| if ( handlerEntry == null ) |
| { |
| return false; |
| } |
| |
| BufferedReader br = new BufferedReader( new InputStreamReader( file.getInputStream( handlerEntry ) ) ); |
| |
| boolean aopFound = false; |
| boolean ctxFound = false; |
| |
| String line = null; |
| while( ( line = br.readLine() ) != null ) |
| { |
| if ( line.endsWith( "AopNamespaceHandler1" ) ) |
| { |
| aopFound = true; |
| } |
| else if ( line.endsWith( "ContextNamespaceHandler1" ) ) |
| { |
| ctxFound = true; |
| } |
| |
| if ( aopFound && ctxFound ) |
| { |
| break; |
| } |
| } |
| |
| if ( !aopFound ) |
| { |
| System.out.println( "Cannot find entry 'AopNamespaceHandler1' in: " + handlerEntry.getName() ); |
| return false; |
| } |
| |
| br.close(); |
| |
| if ( !ctxFound ) |
| { |
| System.out.println( "Cannot find entry 'ContextNamespaceHandler1' in: " + handlerEntry.getName() ); |
| return false; |
| } |
| |
| JarEntry schemaEntry = file.getEntry( "META-INF/spring.schemas" ); |
| if ( schemaEntry == null ) |
| { |
| return false; |
| } |
| |
| br = new BufferedReader( new InputStreamReader( file.getInputStream( schemaEntry ) ) ); |
| |
| boolean found30 = false; |
| boolean found40 = false; |
| |
| String line = null; |
| while( ( line = br.readLine() ) != null ) |
| { |
| if ( line.endsWith( "spring-aop-3.0.xsd" ) ) |
| { |
| found30 = true; |
| } |
| else if ( line.endsWith( "spring-aop-4.0.xsd" ) ) |
| { |
| found40 = true; |
| } |
| |
| if ( found30 && found40 ) |
| { |
| break; |
| } |
| } |
| |
| br.close(); |
| |
| if ( !found30 ) |
| { |
| System.out.println( "Cannot find entry 'spring-aop-3.0.xsd' in: " + schemaEntry.getName() ); |
| return false; |
| } |
| |
| if ( !found40 ) |
| { |
| System.out.println( "Cannot find entry 'spring-aop-4.0.xsd' in: " + schemaEntry.getName() ); |
| return false; |
| } |
| |
| return true; |
| } |
| catch( IOException e ) |
| { |
| e.printStackTrace(); |
| } |
| |
| return false; |