Package com.puppetlabs.geppetto.pp.pptp

Examples of com.puppetlabs.geppetto.pp.pptp.Type


      assertEquals("Should have defined name", "puppet", target.getLabel());
      assertEquals("Should have defined version", "2.6.2_0", target.getVersion());

      // should have found one type "mocktype"
      assertEquals("Should have found one type", 1, target.getTypes().size());
      Type type = target.getTypes().get(0);
      assertEquals("Should have found 'mocktype'", "mocktype", type.getName());
      assertEquals("Should have found documentation", "<p>This is a mock type</p>", type.getDocumentation());

      assertEquals("Should have one property", 1, type.getProperties().size());
      {
        Property prop = getProperty("prop1", type);
        assertNotNull("Should have a property 'prop1", prop);
        assertEquals("Should have defined documentation", "<p>This is property1</p>", prop.getDocumentation());
      }
      {
        assertEquals("Should have one parameter", 1, type.getParameters().size());
        Parameter param = getParameter("param1", type);
        assertNotNull("Should have a parameter 'param1", param);
        assertEquals("Should have defined documentation", "<p>This is parameter1</p>", param.getDocumentation());
      }
View Full Code Here


    try {
      switch(loadType) {
        case TYPE: {
          List<PPTypeInfo> typeInfo = helper.getTypeInfo(uri.path(), new InputStreamReader(inputStream));
          for(PPTypeInfo info : typeInfo) {
            Type type = PPTPFactory.eINSTANCE.createType();
            type.setName(info.getTypeName());
            type.setDocumentation(info.getDocumentation());
            for(Map.Entry<String, PPTypeInfo.Entry> entry : info.getParameters().entrySet()) {
              Parameter parameter = PPTPFactory.eINSTANCE.createParameter();
              parameter.setName(entry.getKey());
              parameter.setDocumentation(entry.getValue().documentation);
              parameter.setRequired(entry.getValue().isRequired());
              type.getParameters().add(parameter);
            }
            for(Map.Entry<String, PPTypeInfo.Entry> entry : info.getProperties().entrySet()) {
              Property property = PPTPFactory.eINSTANCE.createProperty();
              property.setName(entry.getKey());
              property.setDocumentation(entry.getValue().documentation);
              property.setRequired(entry.getValue().isRequired());
              type.getProperties().add(property);
            }
            getContents().add(type);
          }
        }
          break;

        case FUNCTION: {
          List<PPFunctionInfo> functions = helper.getFunctionInfo(uri.path(), new InputStreamReader(
            inputStream));

          for(PPFunctionInfo info : functions) {
            Function pptpFunc = PPTPFactory.eINSTANCE.createFunction();
            pptpFunc.setName(info.getFunctionName());
            pptpFunc.setRValue(info.isRValue());
            pptpFunc.setDocumentation(info.getDocumentation());
            getContents().add(pptpFunc);
          }
        }
          break;

        case META: {
          PPTypeInfo info = helper.getMetaTypeInfo(uri.path(), new InputStreamReader(inputStream));

          MetaType type = PPTPFactory.eINSTANCE.createMetaType();
          type.setName(info.getTypeName());
          type.setDocumentation(info.getDocumentation());
          for(Map.Entry<String, PPTypeInfo.Entry> entry : info.getParameters().entrySet()) {
            Parameter parameter = PPTPFactory.eINSTANCE.createParameter();
            parameter.setName(entry.getKey());
            parameter.setDocumentation(entry.getValue().documentation);
            parameter.setRequired(entry.getValue().isRequired());
            type.getParameters().add(parameter);
          }
          // TODO: Scan the puppet source for providers for the type
          // This is a CHEAT -
          // https://github.com/puppetlabs/geppetto/issues/37
          Parameter p = PPTPFactory.eINSTANCE.createParameter();
          p.setName("provider");
          p.setDocumentation("");
          p.setRequired(false);
          type.getParameters().add(p);

          getContents().add(type);
          break;
        }

        case TYPEFRAGMENT: {
          for(PPTypeInfo type : helper.getTypeFragments(uri.path(), new InputStreamReader(inputStream))) {
            TypeFragment fragment = PPTPFactory.eINSTANCE.createTypeFragment();
            fragment.setName(type.getTypeName());

            // add the properties (will typically load just one).
            for(Map.Entry<String, PPTypeInfo.Entry> entry : type.getProperties().entrySet()) {
              Property property = PPTPFactory.eINSTANCE.createProperty();
              property.setName(entry.getKey());
              property.setDocumentation(entry.getValue().documentation);
              property.setRequired(entry.getValue().isRequired());
              fragment.getProperties().add(property);
            }

            // add the parameters (will typically load just one).
            for(Map.Entry<String, PPTypeInfo.Entry> entry : type.getParameters().entrySet()) {
              Parameter parameter = PPTPFactory.eINSTANCE.createParameter();
              parameter.setName(entry.getKey());
              parameter.setDocumentation(entry.getValue().documentation);
              parameter.setRequired(entry.getValue().isRequired());
              fragment.getParameters().add(parameter);
View Full Code Here

  }

  private List<Type> transform(List<PPTypeInfo> typeInfos) {
    List<Type> result = Lists.newArrayList();
    for(PPTypeInfo info : typeInfos) {
      Type type = PPTPFactory.eINSTANCE.createType();
      type.setName(info.getTypeName());
      type.setDocumentation(info.getDocumentation());
      for(Map.Entry<String, PPTypeInfo.Entry> entry : info.getParameters().entrySet()) {
        Parameter parameter = PPTPFactory.eINSTANCE.createParameter();
        parameter.setName(entry.getKey());
        parameter.setDocumentation(entry.getValue().documentation);
        parameter.setRequired(entry.getValue().isRequired());
        parameter.setNamevar(entry.getValue().isNamevar());
        type.getParameters().add(parameter);
      }
      for(Map.Entry<String, PPTypeInfo.Entry> entry : info.getProperties().entrySet()) {
        Property property = PPTPFactory.eINSTANCE.createProperty();
        property.setName(entry.getKey());
        property.setDocumentation(entry.getValue().documentation);
        property.setRequired(entry.getValue().isRequired());
        type.getProperties().add(property);
      }
      result.add(type);
    }
    return result;
View Full Code Here

    Resource r = resourceSet.getResource(uri, true);

    assertEquals("Should have loaded one thing", 1, r.getContents().size());
    EObject t = r.getContents().get(0);
    assertTrue("Should have loaded a type", t instanceof Type);
    Type type = (Type) t;
    assertEquals("Name should be the expected name", typeName, type.getName());
    return type;
  }
View Full Code Here

      "testData/pp-modules-ruby/module-x/lib/puppet/parser/functions/echotest3.rb", "echotest3", false);
  }

  @Test
  public void testLoadType() throws Exception {
    Type type = doTypeResource("testData/pp-modules-ruby/module-x/lib/puppet/type/thing.rb", "thing");

    assertEquals("Should have found two parameter", 2, type.getParameters().size());
    assertEquals("Should have found two properties", 2, type.getProperties().size());

    Parameter nameEntry = findParameter(type, "name");
    assertNotNull("Should have found a parameter called 'name'", nameEntry);
    assertEquals(
      "Should have found a description of 'name'", "<p>Description of name</p>", nameEntry.getDocumentation());
View Full Code Here

TOP

Related Classes of com.puppetlabs.geppetto.pp.pptp.Type

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.