Search in sources :

Example 1 with SoundCue

use of org.geotoolkit.data.gx.model.SoundCue in project geotoolkit by Geomatys.

the class SoundCueTest method soundCueReadTest.

@Test
public void soundCueReadTest() throws IOException, XMLStreamException, URISyntaxException, KmlException {
    final Feature document;
    {
        final KmlReader reader = new KmlReader();
        final GxReader gxReader = new GxReader(reader);
        reader.setInput(new File(pathToTestFile));
        reader.addExtensionReader(gxReader);
        final Kml kmlObjects = reader.read();
        reader.dispose();
        document = kmlObjects.getAbstractFeature();
    }
    assertEquals(KmlModelConstants.TYPE_DOCUMENT, document.getType());
    assertEquals("gx:SoundCue example", document.getPropertyValue(KmlConstants.TAG_NAME));
    assertEquals(Boolean.TRUE, document.getPropertyValue(KmlConstants.TAG_OPEN));
    final Feature tour = (Feature) document.getProperty(KmlConstants.TAG_FEATURES).getValue();
    assertEquals(GxModelConstants.TYPE_TOUR, tour.getType());
    assertEquals("example", tour.getPropertyValue(KmlConstants.TAG_NAME));
    Iterator<?> i = ((Iterable<?>) tour.getPropertyValue(KmlConstants.ATT_PLAYLIST)).iterator();
    assertTrue("Expected at least one element.", i.hasNext());
    final PlayList playList = (PlayList) i.next();
    assertEquals(1, playList.getTourPrimitives().size());
    final SoundCue soundCue = (SoundCue) playList.getTourPrimitives().get(0);
    assertEquals("http://monsite.com/maressource", soundCue.getHref());
    assertFalse("Expected exactly one element.", i.hasNext());
}
Also used : PlayList(org.geotoolkit.data.gx.model.PlayList) KmlReader(org.geotoolkit.data.kml.xml.KmlReader) Kml(org.geotoolkit.data.kml.model.Kml) SoundCue(org.geotoolkit.data.gx.model.SoundCue) Feature(org.opengis.feature.Feature) GxReader(org.geotoolkit.data.gx.xml.GxReader) File(java.io.File) Test(org.junit.Test)

Example 2 with SoundCue

use of org.geotoolkit.data.gx.model.SoundCue in project geotoolkit by Geomatys.

the class Tour2Test method tour2WriteTest.

@Test
public void tour2WriteTest() throws KmlException, IOException, XMLStreamException, ParserConfigurationException, SAXException, URISyntaxException {
    final GxFactory gxFactory = DefaultGxFactory.getInstance();
    final KmlFactory kmlFactory = DefaultKmlFactory.getInstance();
    final FlyTo flyTo = gxFactory.createFlyTo();
    flyTo.setDuration(5);
    flyTo.setFlyToMode(EnumFlyToMode.SMOOTH);
    final LookAt lookAt = kmlFactory.createLookAt();
    lookAt.setLongitude(-79.387);
    lookAt.setLatitude(43.643);
    lookAt.setAltitude(10);
    lookAt.setHeading(-172.3);
    lookAt.setTilt(10);
    lookAt.setRange(1200);
    lookAt.setAltitudeMode(EnumAltitudeMode.RELATIVE_TO_GROUND);
    flyTo.setView(lookAt);
    final TourControl tourControl = gxFactory.createTourControl();
    tourControl.setPlayMode(EnumPlayMode.PAUSE);
    final SoundCue soundCue = gxFactory.createSoundCue();
    soundCue.setHref("http://dev.keyhole.com/codesite/cntowerfacts.mp3");
    final Wait wait = gxFactory.createWait();
    wait.setDuration(10);
    final PlayList playList = gxFactory.createPlayList();
    playList.setTourPrimitives(Arrays.asList(flyTo, tourControl, soundCue, wait));
    final Feature tour = gxFactory.createTour();
    tour.setPropertyValue(KmlConstants.ATT_PLAYLIST, playList);
    final Kml kml = kmlFactory.createKml(null, tour, null, null);
    kml.addExtensionUri(GxConstants.URI_GX, "gx");
    final File temp = File.createTempFile("testTour2", ".kml");
    temp.deleteOnExit();
    final KmlWriter writer = new KmlWriter();
    final GxWriter gxWriter = new GxWriter(writer);
    writer.setOutput(temp);
    writer.addExtensionWriter(GxConstants.URI_GX, gxWriter);
    writer.write(kml);
    writer.dispose();
    DomCompare.compare(new File(pathToTestFile), temp);
}
Also used : PlayList(org.geotoolkit.data.gx.model.PlayList) FlyTo(org.geotoolkit.data.gx.model.FlyTo) KmlWriter(org.geotoolkit.data.kml.xml.KmlWriter) GxWriter(org.geotoolkit.data.gx.xml.GxWriter) KmlFactory(org.geotoolkit.data.kml.KmlFactory) DefaultKmlFactory(org.geotoolkit.data.kml.DefaultKmlFactory) Kml(org.geotoolkit.data.kml.model.Kml) Feature(org.opengis.feature.Feature) LookAt(org.geotoolkit.data.kml.model.LookAt) TourControl(org.geotoolkit.data.gx.model.TourControl) SoundCue(org.geotoolkit.data.gx.model.SoundCue) Wait(org.geotoolkit.data.gx.model.Wait) File(java.io.File) Test(org.junit.Test)

Example 3 with SoundCue

use of org.geotoolkit.data.gx.model.SoundCue in project geotoolkit by Geomatys.

the class Tour2Test method tour2ReadTest.

@Test
public void tour2ReadTest() throws IOException, XMLStreamException, URISyntaxException, KmlException {
    final KmlReader reader = new KmlReader();
    final GxReader gxReader = new GxReader(reader);
    reader.setInput(new File(pathToTestFile));
    reader.addExtensionReader(gxReader);
    final Kml kmlObjects = reader.read();
    reader.dispose();
    final Feature tour = kmlObjects.getAbstractFeature();
    assertEquals(GxModelConstants.TYPE_TOUR, tour.getType());
    final PlayList playList = (PlayList) ((List) tour.getPropertyValue(KmlConstants.ATT_PLAYLIST)).get(0);
    assertEquals(4, playList.getTourPrimitives().size());
    final FlyTo flyTo = (FlyTo) playList.getTourPrimitives().get(0);
    assertEquals(5, flyTo.getDuration(), DELTA);
    assertEquals(EnumFlyToMode.SMOOTH, flyTo.getFlyToMode());
    final LookAt lookAt = (LookAt) flyTo.getView();
    assertEquals(-79.387, lookAt.getLongitude(), DELTA);
    assertEquals(43.643, lookAt.getLatitude(), DELTA);
    assertEquals(10, lookAt.getAltitude(), DELTA);
    assertEquals(-172.3, lookAt.getHeading(), DELTA);
    assertEquals(10, lookAt.getTilt(), DELTA);
    assertEquals(1200, lookAt.getRange(), DELTA);
    assertEquals(EnumAltitudeMode.RELATIVE_TO_GROUND, lookAt.getAltitudeMode());
    final TourControl tourControl = (TourControl) playList.getTourPrimitives().get(1);
    assertEquals(EnumPlayMode.PAUSE, tourControl.getPlayMode());
    final SoundCue soundCue = (SoundCue) playList.getTourPrimitives().get(2);
    assertEquals("http://dev.keyhole.com/codesite/cntowerfacts.mp3", soundCue.getHref());
    final Wait wait = (Wait) playList.getTourPrimitives().get(3);
    assertEquals(10, wait.getDuration(), DELTA);
}
Also used : PlayList(org.geotoolkit.data.gx.model.PlayList) LookAt(org.geotoolkit.data.kml.model.LookAt) FlyTo(org.geotoolkit.data.gx.model.FlyTo) KmlReader(org.geotoolkit.data.kml.xml.KmlReader) TourControl(org.geotoolkit.data.gx.model.TourControl) Kml(org.geotoolkit.data.kml.model.Kml) SoundCue(org.geotoolkit.data.gx.model.SoundCue) Wait(org.geotoolkit.data.gx.model.Wait) GxReader(org.geotoolkit.data.gx.xml.GxReader) File(java.io.File) Feature(org.opengis.feature.Feature) Test(org.junit.Test)

Example 4 with SoundCue

use of org.geotoolkit.data.gx.model.SoundCue in project geotoolkit by Geomatys.

the class SoundCueTest method soundCueWriteTest.

@Test
public void soundCueWriteTest() throws KmlException, IOException, XMLStreamException, ParserConfigurationException, SAXException, URISyntaxException {
    final GxFactory gxFactory = DefaultGxFactory.getInstance();
    final KmlFactory kmlFactory = DefaultKmlFactory.getInstance();
    final SoundCue soundCue = gxFactory.createSoundCue();
    soundCue.setHref("http://monsite.com/maressource");
    final PlayList playList = gxFactory.createPlayList();
    playList.setTourPrimitives(Arrays.asList((AbstractTourPrimitive) soundCue));
    final Feature tour = gxFactory.createTour();
    tour.setPropertyValue(KmlConstants.TAG_NAME, "example");
    tour.setPropertyValue(KmlConstants.ATT_PLAYLIST, playList);
    final Feature document = kmlFactory.createDocument();
    document.setPropertyValue(KmlConstants.TAG_NAME, "gx:SoundCue example");
    document.setPropertyValue(KmlConstants.TAG_OPEN, Boolean.TRUE);
    document.setPropertyValue(KmlConstants.TAG_FEATURES, tour);
    final Kml kml = kmlFactory.createKml(null, document, null, null);
    kml.addExtensionUri(GxConstants.URI_GX, "gx");
    final File temp = File.createTempFile("testSoundCue", ".kml");
    temp.deleteOnExit();
    final KmlWriter writer = new KmlWriter();
    final GxWriter gxWriter = new GxWriter(writer);
    writer.setOutput(temp);
    writer.addExtensionWriter(GxConstants.URI_GX, gxWriter);
    writer.write(kml);
    writer.dispose();
    DomCompare.compare(new File(pathToTestFile), temp);
}
Also used : PlayList(org.geotoolkit.data.gx.model.PlayList) KmlWriter(org.geotoolkit.data.kml.xml.KmlWriter) GxWriter(org.geotoolkit.data.gx.xml.GxWriter) KmlFactory(org.geotoolkit.data.kml.KmlFactory) DefaultKmlFactory(org.geotoolkit.data.kml.DefaultKmlFactory) AbstractTourPrimitive(org.geotoolkit.data.gx.model.AbstractTourPrimitive) Kml(org.geotoolkit.data.kml.model.Kml) SoundCue(org.geotoolkit.data.gx.model.SoundCue) Feature(org.opengis.feature.Feature) File(java.io.File) Test(org.junit.Test)

Aggregations

File (java.io.File)4 PlayList (org.geotoolkit.data.gx.model.PlayList)4 SoundCue (org.geotoolkit.data.gx.model.SoundCue)4 Kml (org.geotoolkit.data.kml.model.Kml)4 Test (org.junit.Test)4 Feature (org.opengis.feature.Feature)4 FlyTo (org.geotoolkit.data.gx.model.FlyTo)2 TourControl (org.geotoolkit.data.gx.model.TourControl)2 Wait (org.geotoolkit.data.gx.model.Wait)2 GxReader (org.geotoolkit.data.gx.xml.GxReader)2 GxWriter (org.geotoolkit.data.gx.xml.GxWriter)2 DefaultKmlFactory (org.geotoolkit.data.kml.DefaultKmlFactory)2 KmlFactory (org.geotoolkit.data.kml.KmlFactory)2 LookAt (org.geotoolkit.data.kml.model.LookAt)2 KmlReader (org.geotoolkit.data.kml.xml.KmlReader)2 KmlWriter (org.geotoolkit.data.kml.xml.KmlWriter)2 AbstractTourPrimitive (org.geotoolkit.data.gx.model.AbstractTourPrimitive)1