Fixed Ids were limited to 10. Now it appens a random single digit number
This commit is contained in:
		
							parent
							
								
									d4e3da23fa
								
							
						
					
					
						commit
						4a72afdb1c
					
				@ -5,7 +5,7 @@ repositories {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
archivesBaseName = 'Simple Code Generator'
 | 
			
		||||
version = '1.1.0'
 | 
			
		||||
version = '1.1.1'
 | 
			
		||||
apply plugin: 'maven'
 | 
			
		||||
 | 
			
		||||
tasks.withType(JavaCompile) {
 | 
			
		||||
 | 
			
		||||
@ -4,10 +4,10 @@ import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.StringJoiner;
 | 
			
		||||
import java.util.concurrent.atomic.AtomicInteger;
 | 
			
		||||
import java.util.regex.Pattern;
 | 
			
		||||
 | 
			
		||||
import speiger.src.builder.conditions.ICondition;
 | 
			
		||||
import speiger.src.builder.misc.IdGenerator;
 | 
			
		||||
 | 
			
		||||
public class ConditionedSegment
 | 
			
		||||
{
 | 
			
		||||
@ -38,15 +38,15 @@ public class ConditionedSegment
 | 
			
		||||
		return builder.length() - length;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static int parse(String fileName, String currentLine, List<String> lines, int currentIndex, int startIndex, AtomicInteger ignoreCounter, List<ConditionedSegment> segments, List<PostSegment> postSegments) throws IllegalStateException
 | 
			
		||||
	public static int parse(String fileName, String currentLine, List<String> lines, int currentIndex, int startIndex, IdGenerator ignoreCounter, List<ConditionedSegment> segments, List<PostSegment> postSegments) throws IllegalStateException
 | 
			
		||||
	{
 | 
			
		||||
		int ignoreSegmentId = ignoreCounter.get();
 | 
			
		||||
		String ignoreSegmentId = ignoreCounter.getId();
 | 
			
		||||
		ConditionedSegment segment = new ConditionedSegment(startIndex);
 | 
			
		||||
		ICondition condition = currentLine == null ? null : ICondition.parse(currentLine);
 | 
			
		||||
		List<ConditionedSegment> childSegments = new ArrayList<>();
 | 
			
		||||
		StringJoiner segmentText = new StringJoiner("\n", (currentIndex <= 0 || includeStartNewLine(lines.get(currentIndex-1).trim())) ? "\n" : "", "");
 | 
			
		||||
		if(currentLine == null) {
 | 
			
		||||
			lines.set(currentIndex, "#ignoreLine"+ignoreSegmentId);
 | 
			
		||||
			lines.set(currentIndex, ignoreSegmentId);
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		for(int i = currentIndex+1;i<lines.size();i++)
 | 
			
		||||
@ -92,7 +92,7 @@ public class ConditionedSegment
 | 
			
		||||
				else if(trimmed.startsWith("#ignore"))
 | 
			
		||||
				{
 | 
			
		||||
					if(currentLine == null) throw new IllegalStateException("#ignore lines can't be applied Recursively");
 | 
			
		||||
					ignoreCounter.incrementAndGet();
 | 
			
		||||
					ignoreCounter.appendId();
 | 
			
		||||
					int prev = i;
 | 
			
		||||
					i += parse(fileName, null, lines, i, segmentText.length(), ignoreCounter, childSegments, postSegments);
 | 
			
		||||
					segmentText.add(lines.get(prev));					
 | 
			
		||||
 | 
			
		||||
@ -7,10 +7,10 @@ import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.StringJoiner;
 | 
			
		||||
import java.util.concurrent.atomic.AtomicInteger;
 | 
			
		||||
 | 
			
		||||
import speiger.src.builder.mappers.IMapper;
 | 
			
		||||
import speiger.src.builder.misc.FileUtils;
 | 
			
		||||
import speiger.src.builder.misc.IdGenerator;
 | 
			
		||||
 | 
			
		||||
public class Template
 | 
			
		||||
{
 | 
			
		||||
@ -66,7 +66,7 @@ public class Template
 | 
			
		||||
	public static Template parse(Path file) throws IOException
 | 
			
		||||
	{
 | 
			
		||||
		String fileName = FileUtils.getFileName(file.getFileName());
 | 
			
		||||
		AtomicInteger segmentIds = new AtomicInteger();
 | 
			
		||||
		IdGenerator segmentIds = new IdGenerator();
 | 
			
		||||
		List<ConditionedSegment> segments = new ArrayList<>();
 | 
			
		||||
		List<PostSegment> postSegments = new ArrayList<>();
 | 
			
		||||
		StringJoiner joiner = new StringJoiner("\n");
 | 
			
		||||
@ -84,7 +84,7 @@ public class Template
 | 
			
		||||
				}
 | 
			
		||||
				else if(trimmed.startsWith("#ignore"))
 | 
			
		||||
				{
 | 
			
		||||
					segmentIds.getAndIncrement();
 | 
			
		||||
					segmentIds.appendId();
 | 
			
		||||
					int prev = i;
 | 
			
		||||
					i += ConditionedSegment.parse(fileName, null, lines, i, joiner.length(), segmentIds, segments, postSegments);
 | 
			
		||||
					joiner.add(lines.get(prev));
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										19
									
								
								src/main/java/speiger/src/builder/misc/IdGenerator.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/main/java/speiger/src/builder/misc/IdGenerator.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
package speiger.src.builder.misc;
 | 
			
		||||
 | 
			
		||||
import java.util.Random;
 | 
			
		||||
 | 
			
		||||
public class IdGenerator
 | 
			
		||||
{
 | 
			
		||||
	StringBuilder builder = new StringBuilder();
 | 
			
		||||
	Random rand = new Random(24912012592L);
 | 
			
		||||
	
 | 
			
		||||
	public void appendId()
 | 
			
		||||
	{
 | 
			
		||||
		builder.insert(0, rand.nextInt(10));
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public String getId()
 | 
			
		||||
	{
 | 
			
		||||
		return "#ignoreLine"+builder.toString();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user