Ejemplo n.º 1
0
 def __init__(self, table):
     self.table = table
     self.comment = table.hint
     self.package = table.package
     if table.prefix and len(table.prefix) > 0:
         self.name = 'PB' + common.gen_name(table.name[len(table.prefix):])
         self.varName = 'pb' + common.gen_name(table.name[len(table.prefix):])
     else:
         self.name = 'PB' + common.gen_name(table.name)
         self.varName = 'pb' + common.gen_name(table.name)
     
     # com.{{prj._company_}}.{{prj._project_}}.protobuf.{{_module_}}.PB{{_tbi_.java.name}}
     self.model_ns = 'com.%s.%s.protobuf.%s' % (table.prj._company_, table.prj._name_, table.package)
Ejemplo n.º 2
0
 def __init__(self, table):
     self.table = table
     self.comment = table.hint
     self.package = table.package
     if table.prefix and len(table.prefix) > 0:
         self.name = common.gen_name(table.name[len(table.prefix):])
     else:
         self.name = common.gen_name(table.name)
     self.varName = common.lower_first(self.name)
     self.absName = 'Abstract' + self.name
     
     self.model_ns = 'com.%s.%s.model.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.convertor_ns = 'com.%s.%s.convertor.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.mapper_ns = 'com.%s.%s.mapper.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.service_ns = 'com.%s.%s.service.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.mapper_impl_ns = 'com.%s.%s.mapper.impl.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.service_impl_ns = 'com.%s.%s.service.impl.%s' % (table.prj._company_, table.prj._name_, table.package)
Ejemplo n.º 3
0
 def __init__(self, table):
     self.table = table
     self.comment = table.hint
     self.package = table.package
     if table.prefix and len(table.prefix) > 0:
         self.name = common.gen_name(table.name[len(table.prefix):])
     else:
         self.name = common.gen_name(table.name)
     self.varName = common.lower_first(self.name)
     self.absName = 'Abstract' + self.name
     
     self.model_ns = 'com.%s.%s.model.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.convertor_ns = 'com.%s.%s.convertor.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.mapper_ns = 'com.%s.%s.mapper.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.service_ns = 'com.%s.%s.service.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.mapper_impl_ns = 'com.%s.%s.mapper.impl.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.service_impl_ns = 'com.%s.%s.service.impl.%s' % (table.prj._company_, table.prj._name_, table.package)
     self.wrapper_impl_ns = 'com.%s.%s.wrapper.impl.%s' % (table.prj._company_, table.prj._name_, table.package)
Ejemplo n.º 4
0
 def __init__(self, column):
     self.column = column
     self.name = common.gen_name(column.name, upperFirst=False)
     self.nameC = common.upper_first(self.name)
     self.typeName = mapping.protobuf_types.get(column.valType)
     if self.name.lower().endswith('date') or self.name.lower().endswith('time'):
         self.typeName = 'int64'
     self.mark = 'optional'
     self.package = column.package
Ejemplo n.º 5
0
 def __init__(self, ref, opb):
     self.ref = ref
     self.refpb = opb
     self.name = common.gen_name(ref.varName, upperFirst=False)
     self.nameC = common.upper_first(self.name)
     self.typeName = opb.name
     self.mark = 'optional'
     if ref.repeated:
         self.mark = 'repeated'
     self.package = opb.package + "."
Ejemplo n.º 6
0
 def __init__(self, ref, opb):
     self.ref = ref
     self.refpb = opb
     self.name = common.gen_name(ref.varName, upperFirst=False)
     self.nameC = common.upper_first(self.name)
     self.typeName = opb.name
     self.mark = 'optional'
     if ref.repeated:
         self.mark = 'repeated'
     self.package = opb.package + "."
Ejemplo n.º 7
0
 def __init__(self, parentTbl, childTbl):
     self.parent = parentTbl
     self.child = childTbl
     self.nameC = common.gen_name(self.child.name.replace(self.parent.name, "")[1:]) # 下划线分隔
     self.name = common.lower_first(self.nameC)
     self.getterName = '%sList' % self.nameC
     self.setterName = '%sList' % self.nameC
     self.varName = '%sList' % self.name
     self.comment = u'关联读取 @see %s' % (self.child.java.name) 
     self.queryFunc = 'findBy%sId' % (self.parent.java.name)
     self.queryField = '%sId' % (self.parent.java.varName)
     self.pbMark = 'repeated'
Ejemplo n.º 8
0
 def annotationMark(self):
     hint = []
     hint.append(u"@ApiParameterDoc(\"%s\")" % (self.docComment, ))
     name = common.gen_name(self.name, upperFirst=False)
     if self.max:
         hint.append(u'@Length(min=0, max=%s, message="%s_too_long")' %
                     (self.max, name))
     if not self.null and self.isString:
         hint.append(u'@NotEmpty(message="%s_empty")' % (name, ))
     if not self.null and self.isNumber:
         hint.append(u'@NotNull(message = "%s_empty")' % name)
     hint.append('')
     return '\n\t'.join(hint)
Ejemplo n.º 9
0
 def __init__(self, ref, ojava):
     print ojava.name, ojava.table.name, ref.varName
     self.ref = ref
     self.refJava = ojava
     self.typeName = ojava.name
     self.package = ojava.package
     self.name = common.gen_name(ref.varName, upperFirst=False)
     self.nameC = common.upper_first(self.name)
     self.setterName = common.upper_first(self.name)
     self.getterName = common.upper_first(self.name)
     self.repeated = ref.repeated
     if ref.repeated:
         self.typeName = 'List<%s>' % ojava.name
Ejemplo n.º 10
0
 def annotationMark(self):
     hint = []
     hint.append(u"@ApiParameterDoc(\"%s\")" % (self.docComment, ))
     name = common.gen_name(self.name, upperFirst=False)
     if self.max:
         hint.append(u'@Length(min=0, max=%s, message="%s_too_long")' % (
             self.max, name))
     if not self.null and self.isString:
         hint.append(u'@NotEmpty(message="%s_empty")' % (name, ))
     if not self.null and self.isNumber:
         hint.append(u'@NotNull(message = "%s_empty")' % name)
     hint.append('')
     return '\n\t'.join(hint)
Ejemplo n.º 11
0
 def __init__(self, ref, ojava):
     print ojava.name, ojava.table.name, ref.varName
     self.ref = ref
     self.refJava = ojava
     self.typeName = ojava.name
     self.package = ojava.package
     self.name = common.gen_name(ref.varName, upperFirst=False)
     self.nameC = common.upper_first(self.name)
     self.setterName = common.upper_first(self.name)
     self.getterName = common.upper_first(self.name)
     self.repeated = ref.repeated
     if ref.repeated:
         self.typeName = 'List<%s>' % ojava.name
Ejemplo n.º 12
0
    def __init__(self, column):
        self.column = column
        self.name = common.gen_name(column.name, upperFirst=False)
        self.valType = mapping.java_types.get(column.valType)
        self.setterName = common.upper_first(self.name)
        self.getterName = common.upper_first(self.name)
        self.typeName = self.valType
        if self.name.lower().endswith('date') or self.name.lower().endswith('time'):
            self.typeName = 'Date'

        if self.typeName != self.valType:
            self.typeDiff = True
        else:
            self.typeDiff = False
Ejemplo n.º 13
0
def gen(test: int) -> None:
    print("Generating test {}".format(test))
    ARGS = TESTS[test].split()

    os.makedirs(Path(temp_in(test)).parent, exist_ok=True)
    os.makedirs(Path(temp_out(official_source_name(), test)).parent, exist_ok=True)

    subprocess.check_call(["./"+gen_name()] + ARGS, stdout=open(temp_in(test), "w"))
    print("Done generating in for {}".format(test), flush=True)

    print("Running {} for {}".format(official_source_name(),test), flush=True)
    if run_source(official_source_name(), test, True) == False:
        print("Source error on test {}".format(test))
        exit(1)

    testno = "./teste/%d-" % test
    subprocess.check_call(["cp", temp_in(test), testno+problem_name()+".in"])
    subprocess.check_call(["cp", temp_out(official_source_name(), test), testno+problem_name()+".ok"])
    print("Done generating ok for {}".format(test), flush=True)
Ejemplo n.º 14
0
    TESTS = 10000
    MAXN = 10
    MAXV = 10**9

    try:
        shutil.rmtree('./tmp', ignore_errors=False)
    except:
        pass
    os.mkdir('./tmp')

    for test in range(1, TESTS + 1):
        print("Case #%d: " % test, end="")

        N = random.randint(2, MAXN)
        subprocess.check_call(
            ["./" + gen_name(), str(N), str(MAXV)],
            stdout=open(temp_in(TEST_IDX), "w"))

        for source in Sources:
            if run_source(source, TEST_IDX, True) == False:
                print("Runtime error on %s" % source)
                exit(1)

        subprocess.check_call(
            ["cp", temp_out(Sources[0], TEST_IDX),
             temp_ok(TEST_IDX)])

        for source in Sources:
            if score(source, TEST_IDX) != 5:
                print("Wrong answer: %s" % source)
                exit(1)