Package org.apache.marmotta.kiwi.versioning.model

Examples of org.apache.marmotta.kiwi.versioning.model.Version


            data.put("original",original.toString());

            List<Map<String,String>> vs = new ArrayList<Map<String,String>>();

            while (versions.hasNext()) {
                Version v = versions.next();
                Map<String,String> m = new HashMap<String,String>();
                m.put("date",v.getCommitTime().toString());
                m.put("uri",MementoUtils.resourceURI(original.toString(), v.getCommitTime(), configurationService.getBaseUri()).toString());
                vs.add(m);
            }

            data.put("versions",vs);
View Full Code Here


            boolean first = true;

            //write versions
            while (versions.hasNext()) {

                Version v = versions.next();

                //append memento resource uri for versions v
                w.append("<");
                w.append(MementoUtils.resourceURI(original.toString(),v.getCommitTime(),configurationService.getBaseUri()).toString());
                w.append(">; rel=\"");

                //write first, last, memento
                if( first && versions.hasNext()) {
                    w.append("first memento");
                } else if(!versions.hasNext()) {
                    w.append("last memento");
                } else {
                    w.append("memento");
                }

                //add datetime
                w.append("\"; datetime=\"");
                w.append(v.getCommitTime().toString());
                w.append("\",");

                w.newLine();
                first = false;
            }
View Full Code Here

    @GET
    @Produces("application/json")
    @Path("/versions/{id:[0-9]+}")
    public Response getVersion(@PathParam("id") Long id) {
        try {
            Version version = versioningService.getVersion(id);

            if(version != null) {
                Map<String,Object> result = new HashMap<String, Object>();
                result.put("id",version.getId());
                if(version.getCreator() != null) {
                    result.put("creator", version.getCreator().stringValue());
                }
                result.put("date",    DateUtils.ISO8601FORMAT.format(version.getCommitTime()));

                result.put("added_triples", JSONUtils.serializeTriplesAsJson(version.getAddedTriples()));
                result.put("removed_triples", JSONUtils.serializeTriplesAsJson(version.getRemovedTriples()));

                return Response.ok().entity(result).build();

            } else {
                return Response.status(Response.Status.NOT_FOUND).entity("version with id "+id+" does not exist").build();
View Full Code Here

     */
    @DELETE
    @Path("/versions/{id:[0-9]+}")
    public Response deleteVersion(@PathParam("id") Long id) {
        try {
            Version version = versioningService.getVersion(id);

            if(version != null) {
                versioningService.removeVersion(id);

                return Response.ok().entity("success").build();
View Full Code Here

     */
    @POST
    @Path("/versions/{id:[0-9]+}")
    public Response revertVersion(@PathParam("id") Long id) {
        try {
            Version version = versioningService.getVersion(id);

            if(version != null) {
                versioningService.removeVersion(id);

                return Response.ok().entity("success").build();
View Full Code Here

            //loop to all versions to fill the versionset
            RepositoryResult<Version> versions = versioningService.listVersions(resource);

            while(versions.hasNext()) {

                Version v = versions.next();

                //set first as current if there is no current version yet
                if(versionset.getCurrent() == null) versionset.setCurrent(v);

                //set first version
                if(versionset.getFirst() == null) versionset.setFirst(v);

                //set last version
                versionset.setLast(v);

                //set previous as long as id is smaller than the current one
                if(v.getId() < versionset.getCurrent().getId()) {
                    versionset.setPrevious(v);
                }

                //set next if it is not set yet and the id is greater than the current one
                if(v.getId() > versionset.getCurrent().getId() && versionset.getNext() == null) {
                    versionset.setNext(v);
                }
            }

            return versionset;
View Full Code Here

            connection.storeTriple(triple1);
            connection.storeTriple(triple2);
            connection.commit();

            Version version1 = new Version();
            version1.setCommitTime(new Date());
            version1.addTriple(triple1);
            connection.storeVersion(version1);
            connection.commit();

            // check if listVersions now gives exactly one version
            List<Version> list1 = Iterations.asList(connection.listVersions());
            Assert.assertEquals("there should be exactly one version",1,list1.size());
            Assert.assertEquals("contents of version differ", version1, list1.get(0));
            Assert.assertEquals("version id is not 1", 1L, (long)list1.get(0).getId());

            // check if listVersions with subject1 now gives exactly one version
            List<Version> listr1 = Iterations.asList(connection.listVersions(subject1));
            Assert.assertEquals("there should be exactly one version", 1, listr1.size());
            Assert.assertEquals("contents of version differ", version1, listr1.get(0));
            Assert.assertEquals("version id is not 1", 1L, (long)listr1.get(0).getId());


            Version version2 = new Version();
            version2.setCommitTime(new Date());
            version2.addTriple(triple2);
            version2.removeTriple(triple1);
            connection.storeVersion(version2);
            connection.commit();

            // check if listVersions now gives exactly two versions
            List<Version> list2 = Iterations.asList(connection.listVersions());
View Full Code Here

            // wait for one second to be sure to capture MySQL cutting milliseconds
            mysqlSleep();


            Version version1 = new Version();
            version1.setCommitTime(new Date());
            version1.addTriple(triple1);
            connection.storeVersion(version1);
            connection.commit();

            // wait for one second to be sure to capture MySQL cutting milliseconds
            mysqlSleep();

            Date date2 = new Date();

            // wait for one second to be sure to capture MySQL cutting milliseconds
            mysqlSleep();


            Version version2 = new Version();
            version2.setCommitTime(new Date());
            version2.addTriple(triple2);
            version2.removeTriple(triple1);
            connection.storeVersion(version2);
            connection.commit();

            // wait for one second to be sure to capture MySQL cutting milliseconds
            mysqlSleep();

            Date date3 = new Date();


            // now we test different ways of listing versions between dates
            List<Version> list1 = Iterations.asList(connection.listVersions(date1,date2));
            Assert.assertEquals("there should be exactly one version from "+date1+" to "+date2,1,list1.size());
            Assert.assertEquals("contents of version differ", version1, list1.get(0));
            Assert.assertEquals("version id is not 1", 1L, (long)list1.get(0).getId());

            // check if getLatestVersion at date2 works
            Version latest2 = connection.getLatestVersion(subject,date2);
            Assert.assertNotNull("latest version for subject was not found",latest2);
            Assert.assertEquals("latest version is not the expected version", version1,latest2);

            // check if listVersions with subject1 now gives exactly one version
            List<Version> listr1 = Iterations.asList(connection.listVersions(subject,date1,date2));
View Full Code Here

            connection.storeTriple(triple1);
            connection.storeTriple(triple2);
            connection.commit();

            Version version1 = new Version();
            version1.setCommitTime(new Date());
            version1.addTriple(triple1);
            connection.storeVersion(version1);
            connection.commit();

            // check if listVersions now gives exactly one version
            List<Version> list1 = Iterations.asList(connection.listVersions());
            Assert.assertEquals("there should be exactly one version",1,list1.size());
            Assert.assertEquals("contents of version differ", version1, list1.get(0));
            Assert.assertEquals("version id is not 1", 1L, (long)list1.get(0).getId());

            Version version2 = new Version();
            version2.setCommitTime(new Date());
            version2.addTriple(triple2);
            version2.removeTriple(triple1);
            connection.storeVersion(version2);
            connection.commit();

            // check if listVersions now gives exactly two versions
            List<Version> list2 = Iterations.asList(connection.listVersions());
View Full Code Here

     * @param data
     */
    @Override
    public void afterCommit(TransactionData data) {
        if(data.getAddedTriples().size() > 0 || data.getRemovedTriples().size() > 0) {
            Version version = new Version();

            version.setCommitTime(data.getCommitTime());
            for(Statement stmt : data.getAddedTriples()) {
                if(filter.accept(stmt)) {
                    version.getAddedTriples().add(stmt);
                }
            }
            for(Statement stmt : data.getRemovedTriples()) {
                if(filter.accept(stmt)) {
                    version.getRemovedTriples().add(stmt);
                }
            }

            if(version.getAddedTriples().size() > 0 || version.getRemovedTriples().size() > 0) {

                try {
                    final KiWiVersioningConnection connection = persistence.getConnection();
                    try {
                        connection.storeVersion(version);
View Full Code Here

TOP

Related Classes of org.apache.marmotta.kiwi.versioning.model.Version

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.