private ModelEMFResource getEMFResource(ModelId modelId) {
   try {
     Node folderNode = session.getNode(modelId.getFullPath());
     Node fileNode = (Node) folderNode.getNodes().next();
     Node fileItem = (Node) fileNode.getPrimaryItem();
     InputStream is = fileItem.getProperty("jcr:data").getBinary().getStream();
     return (ModelEMFResource) ModelParserFactory.getParser(fileNode.getName()).parse(is);
   } catch (Exception e) {
     throw new FatalModelRepositoryException("Something went wrong accessing the repository", e);
   }
 }
Example #2
0
 @Test
 public void shouldFindMasterBranchAsPrimaryItemUnderTreeNode() throws Exception {
   Node git = gitNode();
   Node tree = git.getNode("tree");
   Item primaryItem = tree.getPrimaryItem();
   assertThat(primaryItem, is(notNullValue()));
   assertThat(primaryItem, is(instanceOf(Node.class)));
   Node primaryNode = (Node) primaryItem;
   assertThat(primaryNode.getName(), is("master"));
   assertThat(primaryNode.getParent(), is(sameInstance(tree)));
   assertThat(primaryNode, is(sameInstance(tree.getNode("master"))));
 }
 public Node getEditNode(String nodeType) throws Exception {
   Node uploadNode = getUploadedNode();
   try {
     Item primaryItem = uploadNode.getPrimaryItem();
     if (primaryItem == null || !primaryItem.isNode()) return uploadNode;
     if (primaryItem != null && primaryItem.isNode()) {
       Node primaryNode = (Node) primaryItem;
       if (primaryNode.isNodeType(nodeType)) return primaryNode;
     }
   } catch (Exception e) {
     if (LOG.isWarnEnabled()) {
       LOG.warn(e.getMessage());
     }
   }
   return uploadNode;
 }
  @Override
  public byte[] getModelContent(ModelId modelId, ContentType contentType) {
    try {
      Node folderNode = session.getNode(modelId.getFullPath());
      Node fileNode = (Node) folderNode.getNodes().next();
      Node fileItem = (Node) fileNode.getPrimaryItem();
      InputStream is = fileItem.getProperty("jcr:data").getBinary().getStream();

      if (contentType == ContentType.XMI) {
        ModelEMFResource resource =
            (ModelEMFResource) ModelParserFactory.getParser(fileNode.getName()).parse(is);
        return resource.toXMI();
      } else {
        return IOUtils.toByteArray(is);
      }
    } catch (PathNotFoundException e) {
      throw new ModelNotFoundException("Could not find model with the given model id", e);
    } catch (Exception e) {
      throw new FatalModelRepositoryException("Something went wrong accessing the repository", e);
    }
  }