removed useless line from upload function
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
package org.jpacrepo.service;
|
package org.jpacrepo.service;
|
||||||
|
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.jpacrepo.context.ApplicationContext;
|
import org.jpacrepo.context.ApplicationContext;
|
||||||
import org.jpacrepo.context.*;
|
import org.jpacrepo.context.DefaultConfiguration;
|
||||||
import org.jpacrepo.model.HashList;
|
import org.jpacrepo.model.HashList;
|
||||||
import org.jpacrepo.model.PkgData;
|
import org.jpacrepo.model.PkgData;
|
||||||
import org.jpacrepo.model.PkgList;
|
import org.jpacrepo.model.PkgList;
|
||||||
import org.jpacrepo.model.PkgName;
|
import org.jpacrepo.model.PkgName;
|
||||||
import org.apache.commons.io.IOUtils;
|
|
||||||
import org.jpacrepo.pacbase.Parser;
|
import org.jpacrepo.pacbase.Parser;
|
||||||
import org.jpacrepo.persistence.QueryEngine;
|
import org.jpacrepo.persistence.QueryEngine;
|
||||||
|
|
||||||
@@ -15,7 +15,6 @@ import javax.inject.Inject;
|
|||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.ws.rs.*;
|
import javax.ws.rs.*;
|
||||||
import javax.ws.rs.core.*;
|
import javax.ws.rs.core.*;
|
||||||
import javax.ws.rs.core.Context;
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -57,15 +56,15 @@ public class PacmanWebService
|
|||||||
@QueryParam("filename") String filename,
|
@QueryParam("filename") String filename,
|
||||||
@QueryParam("md5sum") String md5sum)
|
@QueryParam("md5sum") String md5sum)
|
||||||
{
|
{
|
||||||
if(md5sum != null)
|
if (md5sum != null)
|
||||||
{
|
{
|
||||||
return getPackageByHash(md5sum);
|
return getPackageByHash(md5sum);
|
||||||
}
|
}
|
||||||
else if(filename != null)
|
else if (filename != null)
|
||||||
{
|
{
|
||||||
return getPackageByFileName(filename);
|
return getPackageByFileName(filename);
|
||||||
}
|
}
|
||||||
else if( name != null || arch != null || version != null)
|
else if (name != null || arch != null || version != null)
|
||||||
{
|
{
|
||||||
QueryEngine qe = new QueryEngine(PkgData.class);
|
QueryEngine qe = new QueryEngine(PkgData.class);
|
||||||
qe.select();
|
qe.select();
|
||||||
@@ -94,13 +93,13 @@ public class PacmanWebService
|
|||||||
private Response getPackageByHash(String md5sum)
|
private Response getPackageByHash(String md5sum)
|
||||||
{
|
{
|
||||||
TypedQuery<PkgData> hquery = em.createQuery(hashQuery, PkgData.class);
|
TypedQuery<PkgData> hquery = em.createQuery(hashQuery, PkgData.class);
|
||||||
if(md5sum != null) hquery.setParameter("md5sum", md5sum);
|
if (md5sum != null) hquery.setParameter("md5sum", md5sum);
|
||||||
return manageQueryResult(hquery.getResultList(), true);
|
return manageQueryResult(hquery.getResultList(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Response getPackageByFileName(String file)
|
private Response getPackageByFileName(String file)
|
||||||
{
|
{
|
||||||
TypedQuery<PkgData> fnquery = em.createQuery(fileNameQuery, PkgData.class);
|
TypedQuery<PkgData> fnquery = em.createQuery(fileNameQuery, PkgData.class);
|
||||||
fnquery.setParameter("fileName", file);
|
fnquery.setParameter("fileName", file);
|
||||||
return manageQueryResult(fnquery.getResultList(), true);
|
return manageQueryResult(fnquery.getResultList(), true);
|
||||||
}
|
}
|
||||||
@@ -110,7 +109,7 @@ public class PacmanWebService
|
|||||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||||
public Response downloadPackage(@PathParam("filename") String fileName)
|
public Response downloadPackage(@PathParam("filename") String fileName)
|
||||||
{
|
{
|
||||||
TypedQuery<PkgData> fnquery = em.createQuery(fileNameQuery, PkgData.class);
|
TypedQuery<PkgData> fnquery = em.createQuery(fileNameQuery, PkgData.class);
|
||||||
fnquery.setParameter("fileName", fileName);
|
fnquery.setParameter("fileName", fileName);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -161,17 +160,6 @@ public class PacmanWebService
|
|||||||
throw new BadRequestException();
|
throw new BadRequestException();
|
||||||
|
|
||||||
File file = new File(ctx.getRepoFolder(), filename);
|
File file = new File(ctx.getRepoFolder(), filename);
|
||||||
try
|
|
||||||
{
|
|
||||||
FileOutputStream fos = new FileOutputStream(file);
|
|
||||||
IOUtils.copy(input, fos);
|
|
||||||
fos.close();
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Files.delete(file.toPath());
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
|
|
||||||
TypedQuery<PkgData> fquery = em.createQuery(fileNameQuery, PkgData.class);
|
TypedQuery<PkgData> fquery = em.createQuery(fileNameQuery, PkgData.class);
|
||||||
fquery.setParameter("fileName", filename);
|
fquery.setParameter("fileName", filename);
|
||||||
@@ -179,29 +167,36 @@ public class PacmanWebService
|
|||||||
|
|
||||||
if (savedFiles.size() > 0)
|
if (savedFiles.size() > 0)
|
||||||
{
|
{
|
||||||
Files.delete(file.toPath());
|
|
||||||
return Response.notModified().build();
|
return Response.notModified().build();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PkgData pkg = serviceParser.parseFile(file);
|
try
|
||||||
|
|
||||||
TypedQuery<PkgData> hquery = em.createQuery(hashQuery, PkgData.class);
|
|
||||||
hquery.setParameter("md5sum", pkg.md5sum);
|
|
||||||
savedFiles = hquery.getResultList();
|
|
||||||
|
|
||||||
TypedQuery<PkgName> nquery = em.createQuery(nameQuery, PkgName.class);
|
|
||||||
nquery.setParameter("name", pkg.name.id);
|
|
||||||
List<PkgName> savedName = nquery.getResultList();
|
|
||||||
if (savedName.size() > 0)
|
|
||||||
{
|
{
|
||||||
pkg.name = savedName.get(0);
|
FileOutputStream fos = new FileOutputStream(file);
|
||||||
}
|
IOUtils.copy(input, fos);
|
||||||
|
fos.close();
|
||||||
|
|
||||||
em.persist(pkg);
|
PkgData pkg = serviceParser.parseFile(file);
|
||||||
log.log(Level.INFO, String.format("Persisiting package %s", pkg.fileName));
|
|
||||||
URI pkgUri = uriInfo.getAbsolutePathBuilder().path(pkg.fileName).build();
|
TypedQuery<PkgName> nquery = em.createQuery(nameQuery, PkgName.class);
|
||||||
return Response.created(pkgUri).build();
|
nquery.setParameter("name", pkg.name.id);
|
||||||
|
List<PkgName> savedName = nquery.getResultList();
|
||||||
|
if (savedName.size() > 0)
|
||||||
|
{
|
||||||
|
pkg.name = savedName.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
em.persist(pkg);
|
||||||
|
log.log(Level.INFO, String.format("Persisiting package %s", pkg.fileName));
|
||||||
|
URI pkgUri = uriInfo.getAbsolutePathBuilder().path(pkg.fileName).build();
|
||||||
|
return Response.created(pkgUri).build();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Files.delete(file.toPath());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,9 +213,9 @@ public class PacmanWebService
|
|||||||
{
|
{
|
||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
else if(singleResult)
|
else if (singleResult)
|
||||||
{
|
{
|
||||||
if(pkgList.size()==1)
|
if (pkgList.size() == 1)
|
||||||
{
|
{
|
||||||
return Response.ok(pkgList.get(0)).build();
|
return Response.ok(pkgList.get(0)).build();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user