1 package org.apache.maven.plugins.assembly.filter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import javax.inject.Named;
23
24 import org.codehaus.plexus.components.io.fileselectors.FileInfo;
25
26
27
28
29 @Named( "metaInf-spring" )
30 public class MetaInfSpringHandler
31 extends AbstractLineAggregatingHandler
32 {
33
34 private static final String SPRING_PATH_PREFIX = "META-INF/";
35
36 @Override
37 protected String getOutputPathPrefix( final FileInfo fileInfo )
38 {
39 return SPRING_PATH_PREFIX;
40 }
41
42 @Override
43 protected boolean fileMatches( final FileInfo fileInfo )
44 {
45 final String path = fileInfo.getName();
46
47 String leftover = null;
48 if ( path.startsWith( "/META-INF/spring." ) )
49 {
50 leftover = path.substring( "/META-INF/spring.".length() );
51 }
52 else if ( path.startsWith( "META-INF/spring." ) )
53 {
54 leftover = path.substring( "META-INF/spring.".length() - 1 );
55 }
56
57 return leftover != null && leftover.length() > 0;
58 }
59
60 }