| 1 | |
package org.apache.torque.mojo.morph; |
| 2 | |
|
| 3 | |
import org.codehaus.plexus.util.StringUtils; |
| 4 | |
|
| 5 | |
public class DataMorpher extends Morpher { |
| 6 | |
|
| 7 | 0 | String antPrologue = "<?xml version=\"1.0\"?>"; |
| 8 | |
|
| 9 | 0 | String newPrologue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; |
| 10 | |
|
| 11 | |
|
| 12 | 0 | String antDocType = "<!DOCTYPE dataset SYSTEM \"data.dtd\">"; |
| 13 | |
|
| 14 | |
public DataMorpher() { |
| 15 | 0 | this(null, null); |
| 16 | 0 | } |
| 17 | |
|
| 18 | |
public DataMorpher(MorphRequest morphRequest, String artifactId) { |
| 19 | 0 | super(morphRequest, artifactId); |
| 20 | 0 | } |
| 21 | |
|
| 22 | |
protected String getNewDocType() { |
| 23 | 0 | return "<!DOCTYPE dataset SYSTEM \"" + getArtifactId() + ".dtd\">"; |
| 24 | |
} |
| 25 | |
|
| 26 | |
protected String getMorphedContents(String contents) { |
| 27 | 0 | contents = StringUtils.replace(contents, antPrologue, newPrologue); |
| 28 | 0 | return StringUtils.replace(contents, antDocType, getNewDocType()); |
| 29 | |
} |
| 30 | |
|
| 31 | |
|
| 32 | |
|
| 33 | |
|
| 34 | |
protected boolean isMorphNeeded(String contents) { |
| 35 | |
|
| 36 | 0 | int pos = contents.indexOf(getNewDocType()); |
| 37 | |
|
| 38 | 0 | if (pos == -1) { |
| 39 | |
|
| 40 | 0 | return true; |
| 41 | |
} else { |
| 42 | |
|
| 43 | 0 | return false; |
| 44 | |
} |
| 45 | |
} |
| 46 | |
|
| 47 | |
public String getAntPrologue() { |
| 48 | 0 | return antPrologue; |
| 49 | |
} |
| 50 | |
|
| 51 | |
public void setAntPrologue(String antPrologue) { |
| 52 | 0 | this.antPrologue = antPrologue; |
| 53 | 0 | } |
| 54 | |
|
| 55 | |
public String getNewPrologue() { |
| 56 | 0 | return newPrologue; |
| 57 | |
} |
| 58 | |
|
| 59 | |
public void setNewPrologue(String newPrologue) { |
| 60 | 0 | this.newPrologue = newPrologue; |
| 61 | 0 | } |
| 62 | |
|
| 63 | |
} |