Package org.fao.geonet.domain

Examples of org.fao.geonet.domain.Metadata


            throw new IllegalArgumentException("Metadata internal identifier or UUID not found.");

    //-----------------------------------------------------------------------
    //--- check access

        Metadata metadata = context.getBean(MetadataRepository.class).findOne(id);

    if (metadata == null)
      throw new IllegalArgumentException("Metadata with identifier " + id + " not found.");

    if (!accessMan.canEdit(context, id))
      throw new OperationNotAllowedEx();

    //-----------------------------------------------------------------------
    //--- backup metadata in 'removed' folder

    if (metadata.getDataInfo().getType() != MetadataType.SUB_TEMPLATE && backupFile)
      backupFile(context, id, metadata.getUuid(), MEFLib.doExport(context, metadata.getUuid(), "full", false, true, false));

    //-----------------------------------------------------------------------
    //--- remove the metadata directory including the public and private directories.
    File pb = new File(Lib.resource.getMetadataDir(context, id));
    FileCopyMgr.removeDirectoryOrFile(pb);
View Full Code Here


    AtomicInteger _inc = new AtomicInteger();

    @Test
    public void testFindOne() {
        Metadata metadata = MetadataRepositoryTest.newMetadata(_inc);
        metadata = _metadataRepo.save(metadata);

        MetadataFileUpload fileUpload = MetadataFileUploadRepositoryTest.newMetadataFileUpload(_inc);
        fileUpload.setMetadataId(metadata.getId());
        fileUpload = _metadataFileUploadRepo.save(fileUpload);

        MetadataFileDownload fileDownload1 = newMetadataFileDownload();
        fileDownload1.setMetadataId(metadata.getId());
        fileDownload1.setFileUploadId(fileUpload.getId());
        fileDownload1 = _metadataFileDownloadRepo.save(fileDownload1);

        MetadataFileDownload fileDownload2 = newMetadataFileDownload();
        fileDownload2.setMetadataId(metadata.getId());
        fileDownload2.setFileUploadId(fileUpload.getId());
        fileDownload2 = _metadataFileDownloadRepo.save(fileDownload2);


        assertEquals(fileDownload1, _metadataFileDownloadRepo.findOne(fileDownload1.getId()));
View Full Code Here

        });
    }

    @Test
    public void testUpdateMetadataReturnSameMd() throws Exception {
        Metadata md = _repo.save(MetadataRepositoryTest.newMetadata(_inc));

        final String updatedUUID1 = "Updated uuid";
        md = _repo.update(md.getId(), new Updater<Metadata>() {
            @Nullable
            @Override
            public void apply(@Nullable Metadata input) {
                input.setUuid(updatedUUID1);
            }
        });

        assertEquals(updatedUUID1, md.getUuid());
        assertEquals(updatedUUID1, _repo.findOne(md.getId()).getUuid());
    }
View Full Code Here

        assertEquals(updatedUUID1, _repo.findOne(md.getId()).getUuid());
    }

    @Test
    public void testBatchUpdateAttributes() throws Exception {
        Metadata md = _repo.save(MetadataRepositoryTest.newMetadata(_inc));
        Metadata md2 = _repo.save(MetadataRepositoryTest.newMetadata(_inc));
        Metadata md3 = _repo.save(MetadataRepositoryTest.newMetadata(_inc));


        final Specifications<Metadata> spec = where(hasMetadataId(md2.getId())).or(hasMetadataId(md3.getId()));
        PathSpec<Metadata, String> dataPathSpec = new PathSpec<Metadata, String>() {
            @Override
            public Path<String> getPath(Root<Metadata> root) {
                return root.get(Metadata_.data);
            }
        };
        String newData = "Updated DataElem";

        PathSpec<Metadata, Integer> sourcePathSpec = new PathSpec<Metadata, Integer>() {
            @Override
            public Path<Integer> getPath(Root<Metadata> root) {
                return root.get(Metadata_.sourceInfo).get(MetadataSourceInfo_.groupOwner);
            }
        };
        Integer newGroupId = 12345678;

        final BatchUpdateQuery<Metadata> updateQuery = _repo.createBatchUpdateQuery(dataPathSpec, newData);
        updateQuery.add(sourcePathSpec, newGroupId);

        updateQuery.setSpecification(spec);

        int updated = updateQuery.execute();

        assertEquals(2, updated);
        Metadata reloadedMd1 = _repo.findOne(md.getId());
        assertEquals(md.getData(), reloadedMd1.getData());
        assertFalse(newGroupId == reloadedMd1.getSourceInfo().getGroupOwner());

        Metadata reloadedMd2 = _repo.findOne(md2.getId());
        assertEquals(newData, reloadedMd2.getData());
        assertEquals(newGroupId, reloadedMd2.getSourceInfo().getGroupOwner());

        Metadata reloadedMd3 = _repo.findOne(md3.getId());
        assertEquals(newData, reloadedMd3.getData());
        assertEquals(newGroupId, reloadedMd3.getSourceInfo().getGroupOwner());
    }
View Full Code Here

        assertEquals(newGroupId, reloadedMd3.getSourceInfo().getGroupOwner());
    }

    @Test
    public void testDeleteAllSpec() throws Exception {
        Metadata md = _repo.save(MetadataRepositoryTest.newMetadata(_inc));
        Metadata md2 = _repo.save(MetadataRepositoryTest.newMetadata(_inc));
        Metadata md3 = _repo.save(MetadataRepositoryTest.newMetadata(_inc));


        final Specifications<Metadata> spec = where(hasMetadataId(md2.getId())).or(hasMetadataId(md3.getId()));

        final int deleted = _repo.deleteAll(spec);

        assertEquals(2, deleted);
        assertEquals(1, _repo.count());

        assertNotNull(_repo.findOne(md.getId()));
        assertNull(_repo.findOne(md2.getId()));
        assertNull(_repo.findOne(md3.getId()));

        assertEquals(md.getId(), _repo.findAll().get(0).getId());
    }
View Full Code Here

            xslParameter.put(param.getName(), param.getTextTrim());
        }

        // Retrieve metadata record
        String id = Utils.getIdentifierFromParameters(params, context);
        Metadata mdInfo = gc.getBean(MetadataRepository.class).findOne(id);
        boolean forEditing = false, withValidationErrors = false, keepXlinkAttributes = false;
        Element md = gc.getBean(DataManager.class).getMetadata(context, id, forEditing, withValidationErrors, keepXlinkAttributes);

        // List or analyze all suggestions process registered for this schema
        if ("list".equals(action) || "analyze".equals(action)) {
            MetadataSchema metadataSchema = dm.getSchema(mdInfo.getDataInfo().getSchemaId());
            String filePath = metadataSchema.getSchemaDir() + "/"
                    + XSL_SUGGEST;
            File xslProcessing = new File(filePath);
            if (xslProcessing.exists()) {
                // -- here we send parameters set by user from
View Full Code Here

                                MetadataType.METADATA.codeString, null, metadataCategory, new ISODate().getDateAndTime(),
                                new ISODate().getDateAndTime(), false, false);
                        Element newMd = new Element(sampleMetadataXml.getName(), sampleMetadataXml.getNamespace()).addContent(new Element("fileIdentifier",
                                GMD).addContent(new Element("CharacterString", GCO)));

                        Metadata updateMd = dm.updateMetadata(serviceContext, mdId, newMd, false, false, false, "eng",
                                new ISODate().getDateAndTime(), false);
                        assertNotNull(updateMd);
                        final boolean hasNext = updateMd.getCategories().iterator().hasNext();
                        assertTrue(hasNext);
                    }
                });

    }
View Full Code Here

        final SourceRepository sourceRepository = serviceContext.getBean(SourceRepository.class);
        Source source = sourceRepository.save(new Source().setLocal(true).setName("GN").setUuid("sourceuuid"));

        final Element sampleMetadataXml = super.getSampleMetadataXml();
        final Metadata metadata = new Metadata();
        metadata.setDataAndFixCR(sampleMetadataXml)
            .setUuid(UUID.randomUUID().toString());
        metadata.getCategories().add(category);
        metadata.getDataInfo().setSchemaId("iso19139");
        metadata.getSourceInfo().setSourceId(source.getUuid());

        final Metadata templateMd = _metadataRepository.save(metadata);
        final String newMetadataId = _dataManager.createMetadata(serviceContext, "" + metadata.getId(), "" + group.getId(), source.getUuid(),
                principal.getId(), templateMd.getUuid(), MetadataType.METADATA.codeString, true);

        Metadata newMetadata = _metadataRepository.findOne(newMetadataId);
        assertEquals(1, newMetadata.getCategories().size());
        assertEquals(category, newMetadata.getCategories().iterator().next());
        assertEqualsText(metadata.getUuid(), newMetadata.getXmlData(false), "gmd:parentIdentifier/gco:CharacterString");

    }
View Full Code Here

        doSetHarvesterDataTest(_metadataRepository, _dataManager, metadataId);
    }

    static void doSetHarvesterDataTest(MetadataRepository metadataRepository, DataManager dataManager, int metadataId) throws Exception {
        Metadata metadata = metadataRepository.findOne(metadataId);

        assertNull(metadata.getHarvestInfo().getUuid());
        assertNull(metadata.getHarvestInfo().getUri());
        assertFalse(metadata.getHarvestInfo().isHarvested());

        final String harvesterUuid = "harvesterUuid";
        dataManager.setHarvestedExt(metadataId, harvesterUuid);
        metadata = metadataRepository.findOne(metadataId);
        assertEquals(harvesterUuid, metadata.getHarvestInfo().getUuid());
        assertTrue(metadata.getHarvestInfo().isHarvested());
        assertNull(metadata.getHarvestInfo().getUri());


        final String newSource = "newSource";
        // check that another update doesn't break the last setting
        // there used to a bug where this was the case because entity manager wasn't being flushed
        metadataRepository.update(metadataId, new Updater<Metadata>() {
            @Override
            public void apply(@Nonnull Metadata entity) {
                entity.getSourceInfo().setSourceId(newSource);
            }
        });

        assertEquals(newSource, metadata.getSourceInfo().getSourceId());
        assertEquals(harvesterUuid, metadata.getHarvestInfo().getUuid());
        assertTrue(metadata.getHarvestInfo().isHarvested());
        assertNull(metadata.getHarvestInfo().getUri());

        final String harvesterUuid2 = "harvesterUuid2";
        final String harvesterUri = "harvesterUri";
        dataManager.setHarvestedExt(metadataId, harvesterUuid2, Optional.of(harvesterUri));
        metadata = metadataRepository.findOne(metadataId);
        assertEquals(harvesterUuid2, metadata.getHarvestInfo().getUuid());
        assertTrue(metadata.getHarvestInfo().isHarvested());
        assertEquals(harvesterUri, metadata.getHarvestInfo().getUri());

        dataManager.setHarvestedExt(metadataId, null);
        metadata = metadataRepository.findOne(metadataId);
        assertNull(metadata.getHarvestInfo().getUuid());
        assertNull(metadata.getHarvestInfo().getUri());
        assertFalse(metadata.getHarvestInfo().isHarvested());
    }
View Full Code Here

        _harvestHistoryRepository.save(harvestHistory);

    }

    private void addMetadata(String harvesterUUID) {
        final Metadata entity = MetadataRepositoryTest.newMetadata(_inc);
        entity.getHarvestInfo().setHarvested(true);
        entity.getHarvestInfo().setUuid(harvesterUUID);
        _metadataRepository.save(entity);
    }
View Full Code Here

TOP

Related Classes of org.fao.geonet.domain.Metadata

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.