Package org.infinispan.protostream

Examples of org.infinispan.protostream.DescriptorParserException


   }

   private FileDescriptor mapInternal(String fileName, String dependency, Set<String> processedFile) {
      ProtoFile pf = protoFileMap.get(dependency);
      if (pf == null) {
         throw new DescriptorParserException("Import '" + dependency + "' not found");
      }
      if (processedFile.contains(dependency)) {
         throw new DescriptorParserException("Possible cyclic import detected at " + fileName + ", import " + dependency);
      }
      processedFile.add(dependency);
      return map(protoFileMap.get(dependency));
   }
View Full Code Here


            });
      ctx.registerProtoFiles(fileDescriptorSource);

      assertEquals(1, failed.size());
      assertEquals(1, successful.size());
      DescriptorParserException exception = failed.get("file2.proto");
      assertNotNull(exception);
      assertEquals("Field type b.A not found", exception.getMessage());
      assertTrue(successful.contains("file1.proto"));

      Map<String, FileDescriptor> fileDescriptors = ctx.getFileDescriptors();

      assertEquals(3, fileDescriptors.size());
View Full Code Here

         }

         for (ExtendDescriptor extendDescriptor : extendTypes) {
            GenericDescriptor res = searchType(extendDescriptor.getName(), null);
            if (res == null) {
               throw new DescriptorParserException("Extension error: type " + extendDescriptor.getName() + " not found");
            }
            extendDescriptor.setExtendedMessage((Descriptor) res)//todo [anistor] is it possible to extend an enum?
         }

         // check duplicate type definitions
         for (String typeName : types.keySet()) {
            GenericDescriptor existing = allTypes.get(typeName);
            if (existing != null) {
               List<String> locations = Arrays.asList(name, existing.getFileDescriptor().getName());
               Collections.sort(locations);
               throw new DescriptorParserException("Duplicate definition of " + typeName + " in " + locations.get(0) + " and " + locations.get(1));
            }
         }

         for (FileDescriptor fd : pubDeps) {
            fd.dependants.put(name, this);
View Full Code Here

      List<FileDescriptor> fileDescriptors = new ArrayList<>(dependencies.size());
      Set<String> dependencySet = new HashSet<>(dependencies);
      for (String dependency : dependencySet) {
         FileDescriptor fd = fileDescriptorMap.get(dependency);
         if (fd == null) {
            throw new DescriptorParserException("Import '" + dependency + "' not found");
         }
         if (!processedFiles.add(dependency)) {
            throw new DescriptorParserException("Possible cyclic import detected at " + name + ", import " + dependency);
         }
         fd.resolveDependencies(progressCallback, fileDescriptorMap, allTypes, processedFiles);
         if (fd.status == Status.ERROR) {
            status = Status.ERROR;
            return null;
View Full Code Here

   }

   private void checkValidDefinition(GenericDescriptor descriptor) {
      if (descriptor.getName().indexOf('.') != -1) {
         //TODO This validation should be reported earlier, during parsing, to avoid needless resolving of an already broken file.
         throw new DescriptorParserException("Definition names should not be qualified : " + descriptor.getName());
      }
      GenericDescriptor existing = types.get(descriptor.getFullName());
      if (existing != null) {
         String location = existing.getFileDescriptor().getName();
         if (!location.equals(getName())) {
            location = location + ", " + getName();
         }
         throw new DescriptorParserException(descriptor.getFullName() + " is already defined in " + location);
      }
   }
View Full Code Here

            if (res instanceof EnumDescriptor) {
               fieldDescriptor.setEnumType((EnumDescriptor) res);
            } else if (res instanceof Descriptor) {
               fieldDescriptor.setMessageType((Descriptor) res);
            } else {
               throw new DescriptorParserException("Field type " + fieldDescriptor.getTypeName() + " not found");
            }
         }
      }

      for (Descriptor nested : descriptor.getNestedTypes()) {
View Full Code Here

         try {
            ProtoFile protoFile = ProtoSchemaParser.parse(entry.getKey(), new CharArrayReader(entry.getValue()));
            FileDescriptor fileDescriptor = PROTOFILE_MAPPER.map(protoFile);
            fileDescriptorMap.put(entry.getKey(), fileDescriptor);
         } catch (IOException e) {
            throw new DescriptorParserException("Internal parsing error : " + e.getMessage());
         } catch (DescriptorParserException e) {
            throw e;
         } catch (RuntimeException e) {
            throw new DescriptorParserException(e);
         }
      }
      return fileDescriptorMap;
   }
View Full Code Here

               fieldDescriptor.setEnumDescriptor((EnumDescriptor) res);
            } else if (res instanceof Descriptor) {
               fieldDescriptor.setType(Type.MESSAGE);
               fieldDescriptor.setMessageType((Descriptor) res);
            } else {
               throw new DescriptorParserException("Field type " + fieldDescriptor.getTypeName() + " not found");
            }
         }
      }

      for (Descriptor nested : descriptor.getNestedTypes()) {
View Full Code Here

      }
      for (ExtendDescriptor extendDescriptor : extendTypes) {
         extendDescriptor.setFileDescriptor(this);
         Object res = searchType(extendDescriptor.getName(), null);
         if (res == null) {
            throw new DescriptorParserException("Extension error: type " + extendDescriptor.getName() + " not found");
         }
         extendDescriptor.setExtendedMessage((Descriptor) res);
      }
   }
View Full Code Here

TOP

Related Classes of org.infinispan.protostream.DescriptorParserException

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.