use of uk.me.parabola.imgfmt.fs.ImgChannel in project mkgmap by openstreetmap.
the class FileInfo method lblInfo.
/**
* Obtain the information we need from a LBL file.
*/
private static void lblInfo(FileSystem imgFs, DirectoryEntry ent, FileInfo info) throws FileNotFoundException {
ImgChannel chan = imgFs.open(ent.getFullName(), "r");
lblInfo(chan, info);
}
use of uk.me.parabola.imgfmt.fs.ImgChannel in project mkgmap by openstreetmap.
the class FileCopier method addFile.
private void addFile(FileSystem outfs, FileInfo info) {
String filename = info.getFilename();
FileCopier fc = new FileCopier(filename);
try {
ImgChannel chan = outfs.create(createImgFilename(filename));
((FileLink) chan).link(info.subFiles().get(0), fc.file(chan));
} catch (FileExistsException e) {
log.warn("Counld not copy " + filename, e);
}
}
use of uk.me.parabola.imgfmt.fs.ImgChannel in project mkgmap by openstreetmap.
the class FileCopier method addMdrFile.
/**
* Add or retrieve the MDR file for the given familyId.
* @param familyId The family id to create the mdr file for.
* @param sort The sort for this family id.
* @return If there is already an mdr file for this family then it is returned, else the newly created
* one.
*/
private MdrBuilder addMdrFile(int familyId, Sort sort) {
MdrBuilder mdrBuilder = mdrBuilderMap.get(familyId);
if (mdrBuilder != null)
return mdrBuilder;
mdrBuilder = new MdrBuilder();
try {
String imgname = String.format("%08d.MDR", familyId);
ImgChannel chan = imgFs.create(imgname);
mdrBuilder.initForDevice(chan, sort, mdrConfig);
} catch (FileExistsException e) {
System.err.println("Could not create duplicate MDR file");
}
mdrBuilderMap.put(familyId, mdrBuilder);
return mdrBuilder;
}
use of uk.me.parabola.imgfmt.fs.ImgChannel in project mkgmap by openstreetmap.
the class FileCopier method writeSrtFile.
/**
* Write the SRT file.
*
* @param imgFs The filesystem to create the SRT file in.
* @throws FileNotWritableException If it cannot be created.
*/
private void writeSrtFile(FileSystem imgFs) throws FileNotWritableException {
for (Map.Entry<Integer, Sort> ent : sortMap.entrySet()) {
Sort sort = ent.getValue();
int familyId = ent.getKey();
if (sort.getId1() == 0 && sort.getId2() == 0)
return;
try {
ImgChannel channel = imgFs.create(String.format("%08d.SRT", familyId));
SRTFile srtFile = new SRTFile(channel);
srtFile.setSort(sort);
srtFile.write();
// Do not close srtFile here
} catch (FileExistsException e) {
// well it shouldn't exist!
log.error("could not create SRT file as it exists already");
throw new FileNotWritableException("already existed", e);
}
}
}
use of uk.me.parabola.imgfmt.fs.ImgChannel in project mkgmap by openstreetmap.
the class ArgsTest method testDisplayPriority.
@Test
public void testDisplayPriority() throws FileNotFoundException {
TestUtils.registerFile("osmmap.img");
int pri = 42;
Outputs op = TestUtils.run("--draw-priority=" + pri, Args.TEST_RESOURCE_OSM + "uk-test-1.osm.gz");
op.checkNoError();
FileSystem fs = openFs(Args.DEF_MAP_FILENAME);
ImgChannel chan = fs.open(Args.DEF_MAP_ID + ".TRE", "r");
TREFileReader treFile = new TREFileReader(chan);
assertEquals("display priority", pri, ((TREHeader) treFile.getHeader()).getDisplayPriority());
}
Aggregations